我添加了一个新的asp.net项目,它只在我的MVC应用程序之上托管(Classic)WebServices。
Web服务调用位于Biz Layer Dlls中的Biz Objects。
WebService客户端就像普通用户一样,必须对每个操作进行身份验证和授权。
我正在使用SOAP身份验证令牌在第一次调用时验证用户,然后在每次调用时传递该令牌。
BizObjects访问IUserSessionManager以获取授权用户,然后根据请求调用授权用户。使用MVC应用程序和调用BusinessObjects的Windows应用程序非常容易。 那么如何在以下系统中存储用户信息,我的BusinessObjects可以从中检索它们。 (这对您来说可能很容易,但我不习惯使用Web服务)
public class XyzUserSessionManager
{
private static IXyzUserSessionManager _instance;
public static IXyzUserSessionManager UserSessionManager
{
get { return _instance; }
set { _instance = value; }
}
public static IXyzUserSession Current
{
get { return UserSessionManager.Current; }
}
}
public IXyzUserSession Current
{
get
{
if (HttpContext.Current == null || HttpContext.Current.Session == null || HttpContext.Current.Session[SessionKey] == null)
return null;
return (IXyzUserSession)HttpContext.Current.Session[SessionKey];
}
protected set
{
HttpContext.Current.Session[SessionKey] = value;
}
}
答案 0 :(得分:0)
您可以像常规网络应用一样启用会话状态支持。这是在每个方法的基础上完成的。在此处查看更多详细信息:http://msdn.microsoft.com/en-us/library/aa480509.aspx