我在Logon方法中设置FormsAuthenticationTicket以手动创建身份验证cookie.如何验证该身份验证cookie并将其分配给Current.User对象.它是在Global.asax页面中完成的吗?
登录代码:
FormsAuthenticationTicket Authticket = new
FormsAuthenticationTicket(1,
model.UserName,
DateTime.Now,
DateTime.Now.AddYears(1),
true,
"",
FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(Authticket);
HttpCookie Authcookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
if (Authticket.IsPersistent) Authcookie.Expires = Authticket.Expiration;
Response.Cookies.Add(Authcookie);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
return RedirectToAction("Index", "Home");
Run Code Online (Sandbox Code Playgroud)
我如何阅读此cookie并验证用户?我的代码到目前为止在global.asax文件中:
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
FormsIdentity id = new FormsIdentity(authTicket);
GenericPrincipal principal = new GenericPrincipal(id,null);
Context.User = principal;
}
Run Code Online (Sandbox Code Playgroud) 我目前正在考虑从流畅的nHibernate迁移到ADO.Net Entity Framework 4.
我有一个项目包含我用于nHibernate映射的域模型(pocos).我在博客中读到可以使用我现有的域模型和EF4,但我没有看到它的例子.我已经看过使用EF4生成T4代码的例子,但还没有看到如何使用EF4使用现有域模型对象的示例.我是EF4的新手,想看看如何完成这个的一些示例.
谢谢Aiyaz
我是ADO.Net Entity框架4的新手.我有一组pocos,我需要映射到遗留数据库.问题是db字段名称与poco属性名称不同.例如.db field name ='cusID'和poco property ='CustomerID'.映射这些的最佳方法是什么?
我试图将SQL连接转换为LINQ.我需要一些帮助来使嵌套连接在LINQ中工作.
这是我的SQL查询,我只是为了在SQL中显示嵌套连接而剪短它:
select distinct
txtTaskStatus as TaskStatusDescription,
txtempfirstname+ ' ' + txtemplastname as RaisedByEmployeeName,
txtTaskPriorityDescription as TaskPriorityDescription,
dtmtaskcreated as itemDateTime,
dbo.tblTask.lngtaskid as TaskID,
dbo.tblTask.dtmtaskcreated as CreatedDateTime,
convert(varchar(512), dbo.tblTask.txttaskdescription) as ProblemStatement,
dbo.tblTask.lngtaskmessageid,
dbo.tblMessage.lngmessageid as MessageID,
case when isnull(dbo.tblMessage.txtmessagesubject,'') <> '' then txtmessagesubject else left(txtmessagedescription,50) end as MessageSubject,
dbo.tblMessage.txtmessagedescription as MessageDescription,
case when dbo.tblMessage.dtmmessagecreated is not null then dbo.tblMessage.dtmmessagecreated else CAST(FLOOR(CAST(dtmtaskcreated AS DECIMAL(12, 5))) AS DATETIME) end as MessageCreatedDateTime
FROM
dbo.tblAction RIGHT OUTER JOIN dbo.tblTask ON dbo.tblAction.lngactiontaskid = dbo.tblTask.lngtaskid
LEFT OUTER JOIN …Run Code Online (Sandbox Code Playgroud) 我刚开始使用EF4和存储库模式.我必须在每次使用上下文之后调用dispose方法或在using块中包装代码.我可以在我编写的每个方法中使用ObjectContext而不执行此操作,或者在存储库中有更好的方法来处理它.
另外,我也不想将UIContext从UI传递到存储库.