1
我有一個登錄頁面,匿名訪問者可以填寫表單以執行操作。 在控制器方面,我們將其稱爲VoteController
,我想註冊並與行動業務邏輯(投票)一起登錄用戶。使用其他控制器創建和驗證新用戶
我試過了下面的代碼,它似乎可以工作,但是無論何時用戶繼續瀏覽網站,它在包含@Html.AntiForgeryToken()
的每個頁面上都會收到錯誤,看起來聲稱出現了問題。
var claims = new List<Claim>();
claims.Add(new Claim(ClaimTypes.Name, a.UserName));
claims.Add(new Claim(ClaimTypes.Email, model.Email));
var id = new ClaimsIdentity(claims, Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ApplicationCookie);
var ctx = Request.GetOwinContext();
var authenticationManager = ctx.Authentication;
authenticationManager.SignIn(id);
任何幫助將不勝感激。
你得到了哪些錯誤? –
只要用戶通過調用@ Html.AntyForgeryToken()發現頁面,就會發生以下異常: System.Web.WebPages.dll中發生類型「System.InvalidOperationException」的異常,但未在用戶代碼 中處理 附加信息:所提供的ClaimsIdentity上不存在「http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier」類型的聲明。 – marfin