發(fā)表日期:2019-04 文章編輯:小燈 瀏覽次數(shù):2929
有時(shí)候我們需要網(wǎng)站用戶(hù)登錄后可以給出一些友好提示,比如類(lèi)似pageadmin主站用戶(hù)登錄后提示,您好,某某,以此為例演示一下如何獲取到用戶(hù)登錄狀態(tài)。
由于V4版本登錄使用了單點(diǎn)登錄,所以通過(guò)ajax jsonp的方式去獲取數(shù)據(jù)是最好的方式,既然需要ajax請(qǐng)求,那么就需要有一個(gè)請(qǐng)求文件,請(qǐng)求文件可以用自定義文件新建(ashx或aspx都可以),參考創(chuàng)建自定義文件教程。
1、下面在站點(diǎn)模板目錄下新建一個(gè)GetCurrentUser.cshtml的模板文件(保存為utf8格式),內(nèi)容如下:
@{? ????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="進(jìn)入會(huì)員中心"?target="_blank">你好,@userName</a> } else { ????Response.Clear(); ????Response.End(); }
原理就是,獲取到UserToken參數(shù),通過(guò)系統(tǒng)內(nèi)置的的api去獲取用戶(hù)名,代碼中的CurrentUser是一個(gè)類(lèi),包含UserName,Uid,MemberGroupId,DepartmentId,Email,Mobile這幾個(gè)重要參數(shù),可根據(jù)實(shí)際需求獲取。
2、然后在自定義路由配置文件中新建一個(gè)配置節(jié)點(diǎn)
??<route?urlConstraint="^Common/GetCurrentUser/$"??viewPath="Common/GetCurrentUser.cshtml"?httpcacheSolutionId="0"?columnId="0"?title=""></route>
GetCurrentUser.cshtml放在Common目錄下,請(qǐng)求url規(guī)則為Common/GetCurrentUser/。
3、在模板中可以通過(guò)json的方式請(qǐng)求數(shù)據(jù)。
<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">注冊(cè)</a> </div> <script?type="text/javascript"> ????$(function?()?{ ????????$.ajax({ ????????????url:?"http://u.pageadmin.net/e/GetUserToken", ????????????type:?"GET", ????????????dataType:?"jsonp",?//指定服務(wù)器返回的數(shù)據(jù)類(lèi)型 ????????????success:?function?(data)?{ ????????????????if?(data?!=?"")?{ ????????????????????$.get("/Common/GetCurrentUser/",?"userToken="?+?encodeURIComponent(data),?function?(data)?{ ????????????????????????if?(data?!=?"")?{ ????????????????????????????$("#loginBox").html(data); ????????????????????????} ????????????????????}); ????????????????} ????????????} ????????}); ????}); </script>
注:上面代碼中的http://u.pageadmin.net/改為你自己的會(huì)員中心域名。
日期:2019-04 瀏覽次數(shù):3020
日期:2019-04 瀏覽次數(shù):2988
日期:2019-04 瀏覽次數(shù):2891
日期:2019-04 瀏覽次數(shù):2736
日期:2019-04 瀏覽次數(shù):2823
日期:2019-04 瀏覽次數(shù):2986
日期:2019-04 瀏覽次數(shù):2938
日期:2019-04 瀏覽次數(shù):3198
日期:2019-04 瀏覽次數(shù):3239
日期:2019-04 瀏覽次數(shù):2898
日期:2019-04 瀏覽次數(shù):3247
日期:2019-04 瀏覽次數(shù):2683
日期:2019-04 瀏覽次數(shù):2838
日期:2019-04 瀏覽次數(shù):2949
日期:2019-04 瀏覽次數(shù):2789
日期:2019-04 瀏覽次數(shù):3254
日期:2019-04 瀏覽次數(shù):3146
日期:2019-04 瀏覽次數(shù):2832
日期:2019-04 瀏覽次數(shù):3059
日期:2019-04 瀏覽次數(shù):2883
日期:2019-04 瀏覽次數(shù):2654
日期:2019-04 瀏覽次數(shù):2955
日期:2019-04 瀏覽次數(shù):2866
日期:2019-04 瀏覽次數(shù):2960
日期:2019-04 瀏覽次數(shù):2912
日期:2019-04 瀏覽次數(shù):2782
日期:2019-04 瀏覽次數(shù):2618
日期:2019-04 瀏覽次數(shù):2656
日期:2019-04 瀏覽次數(shù):2706
日期:2019-04 瀏覽次數(shù):2749
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.