我已經寫了幾個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