![](/img/trans.png)
[英]Adding Forms Authentication to ASP.Net project results in 401.2 Unauthorized?
[英]ASP.Net Form authentication 401.2 Unauthorized
我遇到一個讓我發瘋的問題。 我已經在Visual Studio 2015中使用預定義的模板創建了一個ASP.Net項目。 目標框架是4.5
當我添加表單身份驗證時,我得到的只是一條401.2消息。
這是配置應用程序的方式:我創建了Login.aspx頁面。 然后在web.config中,在system.web部分中添加了以下屬性:
<authentication mode="Forms">
<forms loginUrl="Login.aspx"
protection="All"
timeout="30"
name=".ASPXAUTH"
path="/"
defaultUrl="Default.aspx" />
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
我檢查了其他一些帖子,但到目前為止沒有一個幫助我:
這一項不適用: 拒絕訪問-401.2:未經授權的錯誤
這看起來很有希望,但對我的應用程序卻沒有雪茄: 使用IIS8.0 Express(vs2013)的.NET表單身份驗證(vs2013)-401.2 。:未經授權:由於服務器配置,登錄失敗
這讓我開始思考: https : //stackoverflow.com/a/35925125/980201
當我檢查IIS(Express)日志文件時,這就是我得到的:
2017-02-24 19:29:22 ::1 GET / .... - 302
2017-02-24 19:29:22 ::1 GET /Login ReturnUrl=%2f .... - 401
Login.aspx中的.aspx在哪里?
因此,我刪除了所有FriendlyURL內容,但再沒有運氣了。 在最后的嘗試中,我將配置更改為:
<forms loginUrl="LoginXXX.aspx"
這就是我得到的:
2017-02-24 19:45:37 ::1 GET / ... - 302
2017-02-24 19:45:37 ::1 GET /LoginXXX.aspx ReturnUrl=%2f 57745 - 404
為什么.Net重定向到login而不是login.aspx? 對我的應用程序和配置文件還有其他想法嗎?
非常感謝!
問候羅蘭
編輯一些意外事件:當我使用Login.aspx.cs作為當前選項卡在VS中開始調試時,它失敗。 當我從Default.aspx.cs開始調試時,它可以工作。 將項目的“ 開始操作”設置為Default.aspx可以解決此問題。 但是,當網站運行時,將URL更改為login.aspx會使它再次失敗。
為什么? 對我來說,只有每個人都可以看到的頁面無法直接導航對我來說沒有意義。
如果使用Visual Studio創建默認項目,然后使用該默認項目啟用表單身份驗證,則問題是默認情況下禁用了表單身份驗證,因為Identity Framework是VS 2015中的默認身份驗證機制。
在web.config中查找此條目
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
</modules>
</system.webServer>
並刪除“刪除”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.