首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >N2自定义登录逻辑

N2自定义登录逻辑
EN

Stack Overflow用户
提问于 2011-01-26 04:39:32
回答 1查看 866关注 0票数 2

我们需要定制N2身份验证的逻辑,以添加几个选项。

我需要添加一个包含一些选项的RadioButtonList,并根据登录时对该RadioButton的选择设置会话变量-否则用户无法在N2的预览窗格中看到该站点。我想我只需要将RadioButtonList添加到N2/Login.aspx中,并创建一个自定义登录类来扩展N2.Edit.Login,并在调用base.Login1_Authenticate之前覆盖Login1_Authenticate方法来执行我的自定义逻辑。它似乎不是被设计成可扩展的,我不能重写这个方法。要进行更改,我必须使用这些更改对N2进行自定义编译,这样我们就不必在每次更新N2时都重做更改。

我尝试的另一种方法是创建N2/CustomLogin.aspx,并将我的所有逻辑添加到该自定义类中,并将web.config设置为指向CustomLogin.aspx而不是Login.aspx -这将使我最初进入正确的登录页面,但失败的登录将我重定向到Login.aspx (假设是硬编码的内容),它没有我们的单选按钮选项。

我们在.Net 4.0 (MVC app)上使用N2 CMS 2.0.0.0。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-24 04:33:58

N2在幕后使用标准的表单身份验证、ASP.NET成员资格和角色提供者。只要登录的用户名为admin或属于3个N2标准角色(管理员、编辑和作者-我认为)之一,您就可以访问管理员站点。

所以我建议你在你的应用中创建一个完全独立的登录页面。在您的web.config中使用如下条目指向表单验证您的自定义登录页面:

代码语言:javascript
复制
<authentication mode="Forms">
  <forms loginUrl="~/account/login"
         timeout="2880" />
</authentication>

在您的自定义登录表单中,您可以执行标准的表单身份验证来让用户登录,以及设置您的会话变量。

我已经这样做过几次了,它工作得很好。如果你不能让它工作,我建议你提供一个例子来演示这个问题,我会看看我是否能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4798570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档