Try Now
More in this section
Blogs RSS feed

Hiding Libraries Based on User Role - Part II

by Georgi Chokov
Using a LoginView control, you could bind a RadGrid to a specific library and place it inside of the LoginView's Logged in template. The code below binds a library called documents to a RadGrid, then hides the content based on a user's role:




<%@ Control Language="C#" AutoEventWireup="true" CodeFile="LoginViewTest.ascx.cs" Inherits="UserControls_LoginViewTest" %> 
<asp:LoginView ID="LoginView1" runat="server"
        <asp:RoleGroup Roles="Administrators"
                <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False"  
                    <HeaderStyle Width="20px" /> 
                    <HeaderStyle Width="20px" /> 
                    <telerik:GridHyperLinkColumn DataNavigateUrlFields="URL"  
                        DataTextField="Name" HeaderText="Link" UniqueName="column1"
        You are logged in, however, you don't have access to the documents. 
        The user is not logged into the system. 



using System; 
using Telerik.Web.UI; 
using System.Collections; 
using Telerik.Libraries; 
public partial class UserControls_LoginViewTest : System.Web.UI.UserControl 
    protected void Page_Load(object sender, EventArgs e) 
        RadGrid RadGrid1 = (RadGrid)LoginView1.FindControl("RadGrid1"); 
        if (RadGrid1 != null
            RadGrid1.NeedDataSource += new GridNeedDataSourceEventHandler(RadGrid1_NeedDataSource); 
    void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) 
        // create new instance of LibraryManager 
        Telerik.Libraries.LibraryManager libraryManager = new Telerik.Libraries.LibraryManager(); 
        // get library by specified Name 
        ILibrary theLibrary = libraryManager.GetLibrary("Downloads"); 
        IList list = theLibrary.GetItems(); 
        RadGrid RadGrid1 = (RadGrid)source; 
        RadGrid1.DataSource = theLibrary.GetItems(); 

Here is the end result:


Logged In:


Logged Out:


 For more information on the Images and Documents modules, please refer to our Developer Guide.

Leave a comment