发表日期:2019-04 文章编辑:小灯 浏览次数:2440
有时候我们需要网站用户登录后可以给出一些友好提示,比如类似pageadmin主站用户登录后提示,您好,某某,以此为例演示一下如何获取到用户登录状态。
由于V4版本登录使用了单点登录,所以通过ajax jsonp的方式去获取数据是最好的方式,既然需要ajax请求,那么就需要有一个请求文件,请求文件可以用自定义文件新建(ashx或aspx都可以),参考创建自定义文件教程。
1、下面在站点模板目录下新建一个GetCurrentUser.cshtml的模板文件(保存为utf8格式),内容如下:
@{ Layout = null; string userName = ""; string userToken = Request.QueryString["userToken"]; WebApiHelper webApiHelper = new WebApiHelper(); Dictionary<string, string> dictionary = new Dictionary<string, string>(); dictionary.Add("userToken", userToken); dictionary.Add("ip", StringHelper.GetIP()); dictionary.Add("method", "Member.Account.GetCurrentUser"); string result = webApiHelper.Get(dictionary); if (!string.IsNullOrEmpty(result)) { CurrentUser user = JsonHelper.DeserializeObject<CurrentUser>(result); if (user != null) { userName = user.UserName; } } } @if (!string.IsNullOrEmpty(userName)) { <a href="http://u.pageadmin.net/" class="denglu" title="进入会员中心" target="_blank">你好,@userName</a> } else { Response.Clear(); Response.End(); }
原理就是,获取到UserToken参数,通过系统内置的的api去获取用户名,代码中的CurrentUser是一个类,包含UserName,Uid,MemberGroupId,DepartmentId,Email,Mobile这几个重要参数,可根据实际需求获取。
2、然后在自定义路由配置文件中新建一个配置节点
<route urlConstraint="^Common/GetCurrentUser/$" viewPath="Common/GetCurrentUser.cshtml" httpcacheSolutionId="0" columnId="0" title=""></route>
GetCurrentUser.cshtml放在Common目录下,请求url规则为Common/GetCurrentUser/。
3、在模板中可以通过json的方式请求数据。
<div id="loginBox"> <a href="http://u.pageadmin.net/Login/" class="denglu" target="_blank">登录</a><a href="http://u.pageadmin.net/Reg" class="zhuce" target="_blank">注册</a> </div> <script type="text/javascript"> $(function () { $.ajax({ url: "http://u.pageadmin.net/e/GetUserToken", type: "GET", dataType: "jsonp", //指定服务器返回的数据类型 success: function (data) { if (data != "") { $.get("/Common/GetCurrentUser/", "userToken=" + encodeURIComponent(data), function (data) { if (data != "") { $("#loginBox").html(data); } }); } } }); }); </script>
注:上面代码中的http://u.pageadmin.net/改为你自己的会员中心域名。
日期:2019-04 浏览次数:2600
日期:2019-04 浏览次数:2520
日期:2019-04 浏览次数:2430
日期:2019-04 浏览次数:2293
日期:2019-04 浏览次数:2374
日期:2019-04 浏览次数:2519
日期:2019-04 浏览次数:2486
日期:2019-04 浏览次数:2746
日期:2019-04 浏览次数:2803
日期:2019-04 浏览次数:2458
日期:2019-04 浏览次数:2743
日期:2019-04 浏览次数:2262
日期:2019-04 浏览次数:2410
日期:2019-04 浏览次数:2530
日期:2019-04 浏览次数:2379
日期:2019-04 浏览次数:2830
日期:2019-04 浏览次数:2699
日期:2019-04 浏览次数:2398
日期:2019-04 浏览次数:2623
日期:2019-04 浏览次数:2449
日期:2019-04 浏览次数:2220
日期:2019-04 浏览次数:2488
日期:2019-04 浏览次数:2430
日期:2019-04 浏览次数:2514
日期:2019-04 浏览次数:2487
日期:2019-04 浏览次数:2302
日期:2019-04 浏览次数:2239
日期:2019-04 浏览次数:2230
日期:2019-04 浏览次数:2299
日期:2019-04 浏览次数:2326
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.