发表日期:2019-04 文章编辑:小灯 浏览次数:2432
有时候我们需要网站用户登录后可以给出一些友好提示,比如类似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 浏览次数:2593
日期:2019-04 浏览次数:2513
日期:2019-04 浏览次数:2419
日期:2019-04 浏览次数:2285
日期:2019-04 浏览次数:2367
日期:2019-04 浏览次数:2509
日期:2019-04 浏览次数:2476
日期:2019-04 浏览次数:2734
日期:2019-04 浏览次数:2795
日期:2019-04 浏览次数:2446
日期:2019-04 浏览次数:2726
日期:2019-04 浏览次数:2255
日期:2019-04 浏览次数:2402
日期:2019-04 浏览次数:2524
日期:2019-04 浏览次数:2370
日期:2019-04 浏览次数:2823
日期:2019-04 浏览次数:2692
日期:2019-04 浏览次数:2389
日期:2019-04 浏览次数:2614
日期:2019-04 浏览次数:2440
日期:2019-04 浏览次数:2214
日期:2019-04 浏览次数:2478
日期:2019-04 浏览次数:2418
日期:2019-04 浏览次数:2505
日期:2019-04 浏览次数:2478
日期:2019-04 浏览次数:2294
日期:2019-04 浏览次数:2226
日期:2019-04 浏览次数:2222
日期:2019-04 浏览次数:2291
日期:2019-04 浏览次数:2320
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.