当前位置:编程学习 > C#/ASP.NET >>

可以放弃使用 IPrincipal 和 IIdentity ?

目前在网上看的资料,大多是forms验证后,在类似basepage这样的基类里面进行类似以下这样的处理:
if (User.Identity.IsAuthenticated)
{
if (!(User is AdminPrincipal))
{
    Context.User = new AdminPrincipal(User.Identity.Name);
}
}

我现在的问题是:这个时候已经验证过了,干嘛还是使用这两个接口,它们本身又不同在多次请求间保持,而且没有使用其中非接口定义的方法还要进行强制转换,那我不如另外写个类,然后每次页面加载的时候实例化一个,这样受到的限制还少。

网上找的资料里面没发现让我一定得使用它们的理由,请教各位我的理解是否正确 --------------------编程问答-------------------- 。。。。。。 --------------------编程问答-------------------- 我觉得方便,支持使用 --------------------编程问答-------------------- 当然不是必须要使用的,这只不过是MS提供的一种方法,你也可以用你自己的方法.
不够这个方法确实方便地说. --------------------编程问答-------------------- 我怎么感觉如果自己写的方法工作量更少,使用更方便呢?
难道我什么地方没有领会到? --------------------编程问答-------------------- 如果像以下这样使用的话,会不会更方便呢?
这个AdminPrincipal没有实现IPrincipal接口,这样的话就可以随意定义自己需要的方法和属性,在使用的时候也不需要强制转换了。请教楼上说的方便是指什么地方?具体比下面这样做好在哪里?

public class AdminBasePage : Page
{
protected readonly AdminPrincipal CurrentAdmin;

public AdminBasePage()
{
if (User.Identity.IsAuthenticated)
{
CurrentAdmin = new AdminPrincipal(User.Identity.Name);
}
}
} --------------------编程问答-------------------- 再顶 --------------------编程问答-------------------- 晕,无解? --------------------编程问答-------------------- 再顶
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,