Idnetity Conf:
public class ApplicationRoleManager : RoleManager<IdentityRole> { public ApplicationRoleManager(IRoleStore<IdentityRole,string> roleStore) : base(roleStore) { } public static ApplicationRoleManager Create(IdentityFactoryOptions<ApplicationRoleManager> options,IOwinContext context) { return new ApplicationRoleManager(new RoleStore<IdentityRole>(context.Get<ApplicationDbContext>())); } }
.
启动:
using System; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.Owin; using Microsoft.Owin; using Microsoft.Owin.Security.Cookies; using Microsoft.Owin.Security.Google; using Owin; using Identity_Work.Models; namespace Identity_Work { public partial class Startup { public void ConfigureAuth(IAppBuilder app) { app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create); app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); app.UseCookieAuthentication(new CookieAuthenticationoptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,LoginPath = new PathString("/Account/Login"),Provider = new CookieAuthenticationProvider { OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager,ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30),regenerateIdentity: (manager,user) => user.GenerateUserIdentityAsync(manager)) } }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie,TimeSpan.FromMinutes(5)); app.UseTwoFactorRememberbrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberbrowserCookie); } } }
.
Web配置:
<appSettings> <add key="webpages:Version" value="3.0.0.0" /> <add key="webpages:Enabled" value="false" /> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> <add key="owin:AppStartup" value="Identity_Work.IdentityConfig" />
控制器:
[AllowAnonymous] public ActionResult Register() { ViewBag.name = new SelectList(db.Roles,"RoleID","RoleName"); return View(); }
查看:
<div class="form-group"> <label>نوع عضویت</label> <div class="col-md-10"> @Html.DropDownList("name","--Select Name--") </div> </div>
The following errors occurred while attempting to load the app.
– The OwinStartupAttribute.FriendlyName value ” does not match the given value ‘Identity_Work.IdentityConfig’ in Assembly ‘Identity_Work,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null’.
– The given type or method ‘Identity_Work.IdentityConfig’ was not found. Try specifying the Assembly.
To disable OWIN startup discovery,add the appSetting owin:AutomaticAppStartup with a value of “false” in your web.config.
To specify the OWIN startup Assembly,Class,or Method,add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.
.有什么问题 ?
编辑
解决方法
The OwinStartupAttribute.FriendlyName value ” does not match the
given value ‘Identity_Work.IdentityConfig’
按照错误消息的说明进行操作
The given type or method ‘Identity_Work.IdentityConfig’ was not found.
Try specifying the Assembly. To disable OWIN startup discovery,add
the appSetting owin:AutomaticAppStartup with a value of “false” in
your web.config. To specify the OWIN startup Assembly,or
Method,add the appSetting owin:AppStartup with the fully qualified
startup class or configuration method name in your web.config.
首先您应该检查Startup.cs以查看它是否具有对该类的正确引用
[assembly: OwinStartup(typeof(Identity_Work.Startup))]
如果是,那么你需要删除web.config中的owin:AppStartup(如果它存在)并且没有引用正确的类
<add key="owin:AutomaticAppStartup" value="true" />
否则,您可以更新web.config以让owin使用
<add key="owin:AutomaticAppStartup" value="false" /> <add key="owin:AppStartup" value="Identity_Work.Startup" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。