目前正在开发一些应用程序(MVC和Web API),我的MVC应用程序将请求发送到API以进行身份验证和“登录”。我已经开始工作了,所以我的所有MVC应用程序都必须存储来自Web API的持有者令牌,并在需要发出数据请求时随时附加它。
在程序的这一点上,我们正在寻求开始使用授权和一些安全修整来限制哪些用户可以向API发出某些请求以及哪些用户能够看到MVC应用程序上的某些页面。为了在两端执行此操作,我需要从我的API获取角色并模拟MVC端的Identity用户,因为他们在技术上已经登录。我现在的问题可能很简单,但我无法想象在生成身份用户时如何声明角色。现在我只需要一个我们可以显式声明的测试用例,然后我们可以在我们开始从API传递角色后再获取它。
知道如何使用Roles制作一个功能正常的例子吗?
private IdentityUser GenerateIdentityUser(string IdNum, string userN)
{
var newUser = new IdentityUser
{
Id = IdNum,
UserName = userN,
// Roles =
SecurityStamp = DateTime.Now.Ticks.ToString()
};
return newUser;
}
答案 0 :(得分:1)
Roles
中的IdentityUser
属性有一个私有的设置器(请参阅codeplex source code)。 <{1}}的构造函数总是创建一个空的角色列表,因此它不会为空。
要设置角色,您需要在初始化newUser对象后添加以下行:
IdentityUser