ServiceStack 的 RegistrationFeature 需要管理员角色
Require admin role for ServiceStack's RegistrationFeature
如何在不允许自助注册的情况下将用户添加到 IAuthRepository
?有没有办法为 RegistrationFeature
要求特定角色(例如管理员),或者在本地主机上创建一个只有 RegistrationFeature
只有 运行 的单独项目会更容易吗?
我想我已经找到方法了:
typeof(RegisterService).AddAttributes(new RequiredRoleAttribute("Admin"));
如果您不希望用户能够自行注册,那么您可能不想启用默认情况下未注册的 RegistrationFeature
本身。
您将在 using the IAuthRepository itself in your own Service to create users.
中获得更大的灵活性
ServiceStack's new Auth Templates 显示了使用 IAuthRepository
在启动时创建用户的示例,例如:
if (authRepo.GetUserAuthByUserName("user@gmail.com") == null)
{
var testUser = authRepo.CreateUserAuth(new UserAuth
{
DisplayName = "Test User",
Email = "user@gmail.com",
FirstName = "Test",
LastName = "User",
}, "p@55wOrd");
}
if (authRepo.GetUserAuthByUserName("manager@gmail.com") == null)
{
var roleUser = authRepo.CreateUserAuth(new UserAuth
{
DisplayName = "Test Manager",
Email = "manager@gmail.com",
FirstName = "Test",
LastName = "Manager",
}, "p@55wOrd");
authRepo.AssignRoles(roleUser, roles:new[]{ "Manager" });
}
if (authRepo.GetUserAuthByUserName("admin@gmail.com") == null)
{
var roleUser = authRepo.CreateUserAuth(new UserAuth
{
DisplayName = "Admin User",
Email = "admin@gmail.com",
FirstName = "Admin",
LastName = "User",
}, "p@55wOrd");
authRepo.AssignRoles(roleUser, roles:new[]{ "Admin" });
}
如何在不允许自助注册的情况下将用户添加到 IAuthRepository
?有没有办法为 RegistrationFeature
要求特定角色(例如管理员),或者在本地主机上创建一个只有 RegistrationFeature
只有 运行 的单独项目会更容易吗?
我想我已经找到方法了:
typeof(RegisterService).AddAttributes(new RequiredRoleAttribute("Admin"));
如果您不希望用户能够自行注册,那么您可能不想启用默认情况下未注册的 RegistrationFeature
本身。
您将在 using the IAuthRepository itself in your own Service to create users.
中获得更大的灵活性ServiceStack's new Auth Templates 显示了使用 IAuthRepository
在启动时创建用户的示例,例如:
if (authRepo.GetUserAuthByUserName("user@gmail.com") == null)
{
var testUser = authRepo.CreateUserAuth(new UserAuth
{
DisplayName = "Test User",
Email = "user@gmail.com",
FirstName = "Test",
LastName = "User",
}, "p@55wOrd");
}
if (authRepo.GetUserAuthByUserName("manager@gmail.com") == null)
{
var roleUser = authRepo.CreateUserAuth(new UserAuth
{
DisplayName = "Test Manager",
Email = "manager@gmail.com",
FirstName = "Test",
LastName = "Manager",
}, "p@55wOrd");
authRepo.AssignRoles(roleUser, roles:new[]{ "Manager" });
}
if (authRepo.GetUserAuthByUserName("admin@gmail.com") == null)
{
var roleUser = authRepo.CreateUserAuth(new UserAuth
{
DisplayName = "Admin User",
Email = "admin@gmail.com",
FirstName = "Admin",
LastName = "User",
}, "p@55wOrd");
authRepo.AssignRoles(roleUser, roles:new[]{ "Admin" });
}