2015-11-18 111 views
0

在asp.net MVC IM初學者和我有一個問題Asp.net MVC身份在區

在我的項目

,我有兩個領域:管理&用戶

並在項目的根器,我有賬戶控制器,和我的問題是

在更改密碼的帳戶控制器應叫

// GET: /Account/Manage 
    public ActionResult Manage(ManageMessageId? message) 

,但在我區爲更改密碼我打電話給這個網址

/User/Profile 

我想知道,對於這種情況,我應該怎麼做? 必須爲每個區域創建帳戶控制器? 或我可以從/User/Profile/ to /Account/Manage訪問?

回答

0

不,你應該只有一個Account控制器,默認每未經授權的請求重定向到/Account/Login

app.UseCookieAuthentication(new CookieAuthenticationOptions 
{ 
       AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
       LoginPath = new PathString("/Account/Login"), 
       Provider = new CookieAuthenticationProvider 
       { 
        // Enables the application to validate the security stamp when the user logs in. 
        // This is a security feature which is used when you change a password or add an external login to your account. 
        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
         validateInterval: TimeSpan.FromMinutes(30), 
         regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) 
       } 
    });    
      app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); 

,你應該做的唯一一件事就是與Authorize屬性裝飾你的控制器在你的領域。