如何在其他系统中链接的Discuz,实现单点登录
经过研究,重写实现了一个可以在不同2版本中实现单点登录的简 单方法。 1,共用登陆页代码实现: 复制代码 代码如下: protected void btnLogin_Click(object sender, EventArgs e) { //认证开票,跳转到原始请求页面 System"/> </authentication> <!--验证算法--> <machineKey validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" validation="SHA1" decryption="3DES" /> <compilation debug="true"/> 这里:authentication/forms节点最重要的两个属性是name和protection版本的,这里的加密/解密不要使用md5 <machineKey decryptionKey="8B6697227CBCA902B1A0925D00FAA00B353F2DF4359D2099" validation="MD5" validationKey="282487E295028E59B8F411ACB689CCD6F39DDD2146055A3EE480424315994760ADF21B580D8587DB675FA02F7916813044E25309CCCDB647174D5B3D0DD9141"/> 3,没有登录页的单点登录不需要代码 直接配置就可以了,配置如下 复制代码 代码如下: <authorization> <deny users=""/> </authorization> <authentication mode="Forms"> <forms name="/Login"/> </authentication> 4,登录模块从定向代码封装在httpModules中供其他系统直接调用,这里附上封装代码与引用方法: 复制代码 代码如下: public class SsoLoginRedirectModule : IHttpModule { public void Init(HttpApplication i_application) { // TODO: Add UploadModuleInit implementation i_applicationEndRequest += new EventHandler(i_application_EndRequest); } void i_application_EndRequest(object sender, EventArgs e) { if ((HttpContextCurrentResponseStatusCode == 302) && HttpContextCurrentResponseRedirectLocationContains(FormsAuthenticationLoginUrl)) { HttpContextCurrentResponseRedirectLocation = FormsAuthenticationLoginUrl + "ReturnUrl=" + HttpUtilityUrlEncode(HttpContextCurrentRequestUrlOriginalString); } } public void Dispose() { //throw new NotImplementedException(); } } 引用: 复制代码 代码如下: <httpModules> <add name="SsoModule" type="SsoModuleSsoLoginRedirectModule, SsoModule"/> </httpModules>
打开loggingphp
搜索到
showmessage('login_succeed', dreferer());
修改为
showmessage('login_succeed', $boardurl);
不管是做网站运营还是做discuz二次开发都需要对discuz后台程序有一定的了解,本文就向大家介绍其后台程序目录/source/admincp/目录下目录及文件功能:
/source/admincp/后台管理/source/admincp/cloud/云平台项目
/source/admincp/menu/后台扩展菜单目录
/source/admincp/moderate/审核数据项目
我能肯定是你浏览器的事。或者说是你电脑的事。不信换台电脑就没有问题。
解决方法:清楚cookie 删除IE缓存等等。
最好的办法就是用优化大师清理注册表。。清理系统内存。。
解决办法一:
使用记事本打开 configincphp 文件,在 configincphp 文件内,查找
$admincp['checkip'] = 1; // 后台管理操作是否验证管理员的 IP, 1=是[安全], 0=否。仅在管理员无法登陆后台时设置 0。
CODE: [COPY]
$admincp['checkip'] = 1; // 后台管理操作是否验证管理员的 IP, 1=是[安全], 0=否。仅在管理员无法登陆后台时设置 0。
修改为
$admincp['checkip'] = 0; // 后台管理操作是否验证管理员的 IP, 1=是[安全], 0=否。仅在管理员无法登陆后台时设置 0。
CODE: [COPY]
$admincp['checkip'] = 0; // 后台管理操作是否验证管理员的 IP, 1=是[安全], 0=否。仅在管理员无法登陆后台时设置 0。
说明:可能会出现找不到configincphp 文件的情况。这时你可以看看是不是有config_globalphp文件和config_global_defaultphp文件这两个文件。按照上面描述的解决办法改动就好。
解决办法二:
如果上述方法仍然无法解决新增管理员无法登录后台的问题时请尝试下面的方法。
请使用创始人账号登录后台——站长——后台管理团队——添加指定账号为副站长 ——保存——更新缓存
一般来说这样就可以解决了。这是dz x15版本和以前老版本的不同之处,新手很容易落下了这一项没有做。
DZ论坛登录极慢,退出极慢的问题所在与解决方法
转载:
问题出在configincphp文件的uc的ip设置,当你换服务器IP时,这个IP还是你以前安装时的服务器IP,所以必须把这个IP改成你现在服务器的IP,否则登录时极慢,退出也极慢。
之前是define('UC_IP', '21861087');换成我现在服务器IP define('UC_IP', '2186110202');
问题就解决了,登录嗷嗷快。
0条评论