我想创建门户网站,其中将有3-4种类型的多个用户。所以我在Startup.cs中创建了角色,如
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
createRolesandUsers();
}
// In this method we will create default User & roles
private void createRolesandUsers()
{
ApplicationDbContext context = new ApplicationDbContext();
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
if (!roleManager.RoleExists("Admin"))
{
var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
role.Name = "Admin";
roleManager.Create(role);
var user = new ApplicationUser();
user.UserName = "1";
user.Email = "a@b.com";
user.ScreenName = "Ra";
user.UserType = "Admin";
string userPWD = "1";
var chkUser = UserManager.Create(user, userPWD);
if (chkUser.Succeeded)
{
var result1 = UserManager.AddToRole(user.Id, "Investor");
}
}
它创建了Usertypes并在登录页面上我给了单选按钮来选择自己的类型。 现在,假设有4个角色。
假设有10人注册到网站
2人为管理员 4人为玩家 4人担任教练。
现在每个人都有它的类型和用户ID。如果他们登录,由于Autorize属性,他们无法访问彼此的控制器。但我的问题是,4名球员呢?他们是否能够访问彼此的帐户? 他们拥有相同的授权权利,他们也是经过身份验证的。如何阻止相同类型的用户访问彼此的帐户? 我用&#34; User.Identity.GetUserId()&#34;在每个页面上获取当前用户,我按当前ID记录所有交易。