我已经写了几个ms lightswitch应用程序与表单身份验证 - >这在sql server中创建aspnet_ *表。 如何在服务堆应用程序中使用已定义的用户,密码,甚至是成员身份,角色和应用程序权限?使用asp.net认证与服务栈
4
A
回答
6
我还没有测试过这个,但我认为它应该让你开始。很高兴在我的任何步骤中纠正错误。
事情我认为你需要做的..
- 为了验证对阵双方“系统”你需要设置窗体的cookie并保存ServiceStack会议。
而不是调用FormsAuthentication.Authentiate()
做下面的事情。在完成所有步骤之前,这不会起作用。
var apiAuthService = AppHostBase.Resolve<AuthService>();
apiAuthService.RequestContext = System.Web.HttpContext.Current.ToRequestContext();
var apiResponse = apiAuthService.Authenticate(new Auth
{
UserName = model.UserName,
Password = model.Password,
RememberMe = false
});
- 创建的
IUserAuthRepository
一个子类(从aspnet_ *表检索会员/用户/角色并填充ServiceStack为AuthUser)。
CustomAuthRepository.cs(不完整的,但应该让你开始)
public class CustomAuthRepository : IUserAuthRepository
{
private readonly MembershipProvider _membershipProvider;
private readonly RoleProvider _roleProvider;
public CustomAuthRepository()
{
_membershipProvider = Membership.Provider;
_roleProvider = Roles.Provider;
}
public UserAuth GetUserAuthByUserName(string userNameOrEmail)
{
var user = _membershipProvider.GetUser(userNameOrEmail, true);
return new UserAuth {FirstName = user.UserName, Roles = _roleProvider.GetRolesForUser(userNameOrEmail).ToList() //FILL IN REST OF PROPERTIES};
}
public bool TryAuthenticate(string userName, string password, out UserAuth userAuth)
{
//userId = null;
userAuth = GetUserAuthByUserName(userName);
if (userAuth == null) return false;
if (FormsAuthentication.Authenticate(userName, password))
{
FormsAuthentication.SetAuthCookie(userName, false);
return true;
}
userAuth = null;
return false;
}
//MORE METHODS TO IMPLEMENT...
}
线验证了用于ServiceStack在APPHOST配置方法。
var userRep = new CustomAuthRepository(); container.Register<IUserAuthRepository>(userRep); Plugins.Add( new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { new CredentialsAuthProvider() } ));
+0
谢谢。我认为这会帮助我开始,我会尽我的第一步,也许会回到你身边?最好的祝福 – user1753241 2013-02-26 08:55:53
相关问题
- 1. 使用ASP.NET认证/授权与卡西尼开发服务器
- 2. WCF服务与证书认证:
- 3. 使用证书认证的iPhone Web服务调用WCF服务
- 4. 使用身份认证服务器的ASP.Net MVC和WebApi身份认证
- 5. asp.net网站wcf数据服务认证
- 6. Asp.Net使用WCF服务的Web应用程序认证
- 7. 使用SOAP在Java中与API认证使用Web服务
- 8. ASP.NET Web API 2:如何使用外部认证服务登录?
- 9. RESTful用户认证服务
- 10. 认证使用RESTful Web服务
- 11. 使用LDAP的CAS服务器认证
- 12. 使用Ajax访问ServiceStack认证服务
- 13. 使用Twitter的服务认证Oauth
- 14. 谷歌认证使用azure服务
- 15. 微服务认证
- 16. 服务器认证
- 17. .net认证与SQL服务器
- 18. 不经认证的Android与服务
- 19. dnn 7认证与服务框架
- 20. 服务与形式的认证
- 21. 的RESTful web服务与认证
- 22. 如何将ServiceStack服务认证与网站认证相集成
- 23. 使用与OpenIdDict隐流,而无需认证服务器
- 24. 服务帐户认证如何与Ruby Google API一起使用?
- 25. 如何使用Socket.IO与服务器要求认证
- 26. 问题与服务栈
- 27. ASP.NET web API认证与bacbone.js
- 28. ASP.Net与Facebook的OWIN认证
- 29. Asp.net认证与框架4.0
- 30. 安全认证与ASP.net
认为这个答案有你需要的资源 - http://stackoverflow.com/questions/8711436/use-asp-net-membership-in-servicestack – paaschpa 2013-02-25 15:21:35
我已经研究了这个答案,它不是我所需要的。这个答案告诉我如何使用表单认证和服务堆认证,我想要做的是直接在服务堆中使用表单认证。 – user1753241 2013-02-25 15:47:46