iT邦幫忙

0

ASP.MVC 驗證問題

我使用Forms Authentication做身份的驗證,

網頁上有帳號/密碼 及登入的按鈕

然後,我在Controller端加上「[Authorize]」這一行,

[Authorize]
public ActionResult test(){
return Content("OK");
}

然後接下來,我輸入帳/密登入成功,就會一直顯示原本預設的登入畫面(如下圖)http://ithelp.ithome.com.tw/upload/images/20170921/20002461jyYCZfluiW.png

我在想,應該是我初再建立MVC的時候,沒有將驗證改成「不驗證」,但真實狀況如何我也不知,請問這問題有人發生過嗎??該如何解決呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
石頭
iT邦高手 1 級 ‧ 2017-09-21 16:29:43

然後,我在Controller端加上「[Authorize]」這一行,

[Authorize]
public ActionResult test(){
return Content("OK");
}

這因該是在Action上加AuthorizeFitler吧!!

你可能要附上你請求的URL
我猜是因為你請求的Action或Controller 有Authorize這個權限過濾器
所以才要你登入 你可以試著把[Authorize]都拿掉 就不用強制登入了

Authorize原始碼連結

MVC預設會去三個地方的Filter

  1. GlobalFilters.Filters
  2. Controller
  3. Action

加載的秘密都在
FilterProviders中

klm2242 iT邦研究生 1 級 ‧ 2017-09-21 17:21:40 檢舉

您好,謝謝您的回覆,我最近才接觸這個,有些您說的步驟我不太瞭解,可能會重覆問,請多多包含。
因為我現在的狀況是我有寫一個登入頁面,使用帳/密登入後,又出現了一個預設的登入頁面(如我問題上的那張圖),但我想要把預設的登入頁面移掉~~

石頭 iT邦高手 1 級 ‧ 2017-09-21 17:49:19 檢舉

你可以把所有的[Authorize]標籤都移除
即可

我要發表回答

立即登入回答