Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
AI OnAI Off
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Hi Jonas
Could give this aspx a try.
<%@ Page language="c#" AutoEventWireup="True" Inherits="System.Web.UI.Page"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Test page for information about the current user</title>
<script runat="server">
public void Page_Load(System.Object sender, System.EventArgs e)
{
if (!IsPostBack)
{
if (EPiServer.Security.PrincipalInfo.CurrentPrincipal.Identity.IsAuthenticated)
{
type.Text = "Your authentication type is: " + EPiServer.Security.PrincipalInfo.Current.Principal.Identity.AuthenticationType;
System.Web.Security.MembershipUser CurrentUser = System.Web.Security.Membership.GetUser(EPiServer.Security.PrincipalInfo.Current.Name);
username.Text = "You are authenticated as: " + CurrentUser.UserName;
userprovider.Text = "You are logged with: " + CurrentUser.ProviderName;
if (EPiServer.Security.PrincipalInfo.HasAdminAccess)
adminaccess.Text = "Admin mode access: Yes";
else
adminaccess.Text = "Admin mode access: No";
if (EPiServer.Security.PrincipalInfo.HasEditAccess)
editaccess.Text = "Edit mode access: Yes";
else
editaccess.Text = "Edit mode access: No";
System.Collections.Generic.IList<EPiServer.Security.RoleItem> allRoles = EPiServer.Security.RoleProviderUtility.GetAllRolesWithProviders();
System.Data.DataTable rolesTable = new System.Data.DataTable();
rolesTable.Columns.Add("Name");
rolesTable.Columns.Add("ProviderName");
foreach (EPiServer.Security.RoleItem role in allRoles)
{
if (EPiServer.Security.PrincipalInfo.Current.Principal.IsInRole(role.RoleName))
rolesTable.Rows.Add(new System.Object[] { role.RoleName, role.ProviderName });
}
GroupList.DataSource = rolesTable;
GroupList.DataBind();
}
else
type.Text = "You are not authenticated";
}
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:label Runat="server" id="type" /><br />
<asp:label Runat="server" id="username" /><br />
<asp:label Runat="server" id="userprovider" /><br />
<asp:label Runat="server" id="adminaccess" /><br />
<asp:label Runat="server" id="editaccess" /><br />
<asp:DataGrid ID="GroupList" AutoGenerateColumns="False" runat="server">
<Columns>
<asp:BoundColumn DataField="Name" HeaderText="Group" />
<asp:BoundColumn DataField="ProviderName" HeaderText="Provider" />
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
Hi
I had a similar problem where I wanted to send a Authenticated user-id to one external forms. You can also try this out.
...
Response.Write( EPiServer.Security.UnifiedPrincipal.Current.Identity.Name.ToString() + ", " + EPiServer.Security.UnifiedPrincipal.Current.GroupList[0].ToString() + ", " + EPiServer.Security.UnifiedPrincipal.Current.GroupList[1].ToString() + ", " + EPiServer.Security.UnifiedPrincipal.Current.GroupList[2].ToString() );
...
Hi!
What's the best way to check what permissions a user (Windows user) has on a page?
QueryDistinctAccess, only give me permissions that are defined on the page, not permissions given though group memberships??
/Jonas