我开发了一个项目ASP.NET MVC
。在我的项目中,我有两种用户:1-User
和2-Customer
。如何在asp.net中使用ASP.NET身份的Web服务mvc
我使用ASP.NET身份对用户进行授权和我有这样的方法登录:
public virtual async Task<ActionResult> Login(LoginViewModel loginViewModel, string returnUrl)
{
var loggedinUser = await _applicationUserManagerService.FindAsync(loginViewModel.Email, loginViewModel.Password);
if (loggedinUser != null)
await _applicationUserManagerService.UpdateSecurityStampAsync(loggedinUser.Id);
var result = await _signInManagerService.PasswordSignInAsync(loginViewModel.Email, loginViewModel.Password, loginViewModel.RememberMe, shouldLockout: true);
switch (result)
{
case Microsoft.AspNet.Identity.Owin.SignInStatus.Success:
return RedirectToLocal(returnUrl);
case Microsoft.AspNet.Identity.Owin.SignInStatus.Failure:
break;
case Microsoft.AspNet.Identity.Owin.SignInStatus.LockedOut:
break;
default:
return View(loginViewModel);
}
return View(loginViewModel);
}
但是我有一个问题,我必须通过授权Web Service
Customer
,我不知道该怎么做到这一点。我可以使用ASP.NET Identity
,还是我应该使用Session?
登录后可以更换页面,并且在每个页面中我必须从Web Services
加载一些数据。
将数据放入cookie中安全吗?
谢谢。我只有一个问题。创建另一个登录表单不是更好吗?因为它可能是用户和获取成果结果,并以这种方式,我不需要检查Web服务。 –
这取决于你将如何让用户进行身份验证。我刚刚写了如何以两种不同的方式授权用户和客户。何处使用此代码取决于您的应用程序需求和UI。 –
对于最后一个问题,我如何才能限制客户'客户'专区?因为我不想让客户访问'Admin'区域? –