• 重写DNN6.2注册、登陆、修改等个人中心


    一、重写DNN注册

    1. 创建新注册页面 MyRegiseter.aspx
    2. 添加相应皮肤
    3. 创建注册模块(样式排版好)
    4. 实现注册功能  

      概要说明重写DNN注册页面需要更改的内容

    1. 后台:MyRegister:UserUserControlBase
    2. 为了方便,可将DesktopModules/Admin/Security/Register.ascx.cs相应的拷贝
    3. 主要拷贝这几个方法CreateUser(),UpdateDisplayName() 以及属性RedirectURL,CreateStatus,AuthenticationType,UserToken

     这样只要在你的注册按钮事件 上 调用createUser(),就能注册新用户

         详细说明方法和属性的内容

      1.RedirectURL

      这个属性比较简单,就是注册成功或失败返回的页面,根据get,取地址returnurl的参数值,进行跳转操作。如果该参数为空,也可以通过Glovals.NavigateURL(tabid)

          来进行赋值跳转,tabid是每个DNN页面的对应数据库的ID。可在数据库表Tabs里查看

      2.CreateStatus

      这个属性的类型是 UserCreateStatus,这是个枚举,主要是用来显示当前状态,如果Success等,可按F12查看

          在CreateUser()方法中,用来判断注册成功与否 CreateStatus=UserController.CreateUser(ref user)

      UserController 类,包含了几乎所有用户的操作等内容,如注册方面,查看当前用户是否存在GetUserByName返回一个User类,如果为空,则不存在

      User类,可以看做是用户信息的实体类

          TestableUserController类,个人目前是用到,验证显示的用户名是否存在,GetUserByDisplayName(portId,text),portid为网站站点ID

      3.AuthenticationType

      目前没发现用处,你可在CreateUser()里,把他设置成string.empty,也不会报错

      4.UserToken

      如上,可设置为空,未见其功能

      5.UpdateDisplayName()

      修改当前的显示名称,跳转后现实名称,这步必加,否则会报错,用户可能为空

    二、重写DNN登录

      1.如上,添加好页面和控件、样式,

      注意:在添加MyLogin页面的时候,in menu取消选中

      2.分析DNN自带的Login后台 :位置:DesktopModules/AuthenticationService/DNN/Login.ascx

      在OnLoginClick时,可以看到,UserCaptcha,这个是用来判断登录是否使用系统自带的图片验证码,如果你不用,可以把这个if去掉

      ctlCaptcha就是系统自带图片验证码控件

      登录的2个具体方法:UserController.ValidateUser(........, ref status) 

              和:OnUserAuthenticated(eventArgs)

      ValidateUser(...,ref status) 就是验证用户是否授权和验证登录成功与否,status是返回状态,是个枚举UserLoginStatus

      只要判断status是否不等于UserLoginStatus.Login_failure就可验证登录了

      OnUserAuthenticated是个未开源的代码

      后续...

       

  • 相关阅读:
    高性能Javascript DOM编程学习笔记
    高性能Javascrip 改变作用域链
    高性能Javascript 加载和执行 读书笔记
    javascript 在function 里return 重写function 而得到更多的作用域 闭包
    HTML、css和javascript开发Android程序第五章节 客户端存储 学习笔记
    高性能Javascript HTML集合访问的学习笔记
    高性能Javascript 数据访问读书笔记
    博客
    高性能Javascript 缓存对象成员
    高性能Javascript 克隆节点学习笔记
  • 原文地址:https://www.cnblogs.com/ruanyifeng/p/2573569.html
Copyright © 2020-2023  润新知