c# - How to check if user is logged in (authenticated) in Sitefinity widget template? -
i need display piece of text via widget template users not logged in. widget template serving sitefinity dynamic module, module partially available non-logged in users. want non-logged in users message should login in order read full content.
i have set permissions fields , working should missing piece displaying message non-logged in users.
i tested in simple web form test file , works:
<p>you <asp:literal id="userstatus" runat="server" />.</p> and code-behind is:
public string name { get; set; } protected void page_load(object sender, eventargs e) { if (page.request.isauthenticated) { userstatus.text = "logged in"; } else { userstatus.text = "not logged in"; } } i know there way add code-behind widget templates in sitefinity when try include above code-behind widget template, error:
object reference not set instance of object. and error pointing line:
userstatus.text = "logged in";
how accomplish via code-behind , widget template or other solutions or methods?
because sitefinity widget templates ascx files can create custom user control , reference widget template instead of going code behind route.
i've modified code use sitefinity api check if user logged in, can use in page load event new control you'll register on widget template:
protected void page_load(object sender, eventargs e) { if (claimsmanager.getcurrentidentity().isauthenticated) userstatus.text = "logged in"; else userstatus.text = "not logged in"; } you need following using directive:
using telerik.sitefinity.security.claims; after you've created custom control can reference widget template using either import or register directive:
<%@ register tagname="loginstatus" tagprefix="custom" src="~/controls/loginstatus/loginstatus.ascx" %> you can use control this:
<custom:loginstatus runat="server" /> here's post sort of related this: sitefinity if user logged in
Comments
Post a Comment