在开发期间设置管理员角色

时间:2018-03-05 16:35:29

标签: c# asp.net-mvc windows-authentication authorize-attribute

构建MVC5应用程序,我使用自定义授权进行Windows身份验证。实时项目从活动目录进行身份验证。在开发过程中,我希望匿名用户以管理员身份访问应用程序,因为这会在开发过程中帮助我。

我的自定义课程:

public class MyAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        #if DEBUG
            //TODO: set anonymous user as administrator during developement
            return true;
        #else
            return base.AuthorizeCore(httpContext);
        #endif
    }
}

This article帮助了我很多,但我只需要添加管理员角色。

有没有办法在开发过程中向匿名用户添加角色?我可以在调试模式下使用该属性

User.IsInRole("Admin") == true

1 个答案:

答案 0 :(得分:-1)

您可以在startup.cs中创建用户。

if (_user == null){
                var user = new ApplicationUser
                {
                    UserName = "Administrator",
                    Email = "youremail",
                    RoleId = 1
                };

                var result = await UserManager.CreateAsync(user,"yourpassword");
                UserManager.AddToRole(user.Id, "Admin");
            }