<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Web Parts and Personalization</title><link>http://forums.asp.net/145.aspx</link><description>Discussions of the new ASP.NET 2.0 portal framework.  &lt;a href="http://aspadvice.com/SignUp/list.aspx?l=167&amp;c=30" target="_blank"&gt;Email List&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: Call AuthorizeWebParts in codebehind</title><link>http://forums.asp.net/thread/3265335.aspx</link><pubDate>Tue, 30 Jun 2009 01:49:32 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3265335</guid><dc:creator>EDUStreet</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3265335.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=145&amp;PostID=3265335</wfw:commentRss><description>&lt;p&gt;Thanks for reference, but it looks like unuseful for me.&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Call AuthorizeWebParts in codebehind</title><link>http://forums.asp.net/thread/3263213.aspx</link><pubDate>Mon, 29 Jun 2009 04:52:16 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3263213</guid><dc:creator>Hong-Gang Chen - MSFT</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3263213.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=145&amp;PostID=3263213</wfw:commentRss><description>&lt;p&gt;Please refer this article,&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.simple-talk.com/dotnet/asp.net/web-parts-in-asp.net-2.0/"&gt;http://www.simple-talk.com/dotnet/asp.net/web-parts-in-asp.net-2.0/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Call AuthorizeWebParts in codebehind</title><link>http://forums.asp.net/thread/3254310.aspx</link><pubDate>Wed, 24 Jun 2009 04:28:30 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3254310</guid><dc:creator>EDUStreet</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3254310.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=145&amp;PostID=3254310</wfw:commentRss><description>&lt;p style="font-size:11px;"&gt;My code check each webpart in DeclarativeCatalogPart and assign the role for them. But it doesn&amp;#39;t run the after the DeclarativeCatalogPart1_Init life cycle. Do know how to solve it? I want all webpart &amp;quot;Refresh&amp;quot; after assigned role. Appreciate if provide any solution.&amp;nbsp; Thank you.&lt;br /&gt;&lt;/p&gt;
&lt;p style="font-size:11px;"&gt;-----------------------------------------------------------------------------------------------------&amp;nbsp;&lt;br /&gt;Default.aspx.vb&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Protected Sub DeclarativeCatalogPart1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles DeclarativeCatalogPart1.Init&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; Dim WebPartManager1 As WebPartManager = Master.FindControl(&amp;quot;WebPartManager1&amp;quot;)&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; For Each c As WebPartDescription In Me.DeclarativeCatalogPart1.GetAvailableWebPartDescriptions&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Dim namingContainerID As String = &amp;quot;gwp&amp;quot;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If c.ID = namingContainerID + &amp;quot;Announcement1&amp;quot; Then&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim wp As WebPart = DeclarativeCatalogPart1.GetWebPart(c)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wp.AuthorizationFilter = &amp;quot;admin&amp;quot;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; Next&lt;br /&gt;&lt;br /&gt;&amp;#39;************************************************************&amp;nbsp;&lt;br /&gt;&amp;#39;Here call OnAuthorizeWebPart=&amp;quot;AuthorizeWebParts&amp;quot; to refresh?&lt;br /&gt;&amp;#39;************************************************************&amp;nbsp;&lt;br /&gt;End Sub&amp;nbsp;&lt;br /&gt;&lt;br /&gt;-----------------------------------------------------------------------------------------------------&amp;nbsp;&lt;br /&gt;Default.aspx&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;asp:DeclarativeCatalogPart ID=&amp;quot;DeclarativeCatalogPart1&amp;quot; runat=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;WebPartsTemplate&amp;gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;uc1:Announcement title=&amp;quot;Announcement&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/WebPartsTemplate&amp;gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/asp:DeclarativeCatalogPart&amp;gt;&lt;br /&gt;-----------------------------------------------------------------------------------------------------&amp;nbsp;&lt;br /&gt;MyMaster.master&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;asp:WebPartManager OnAuthorizeWebPart=&amp;quot;AuthorizeWebParts&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt; &amp;lt;/asp:WebPartManager&amp;gt;&lt;br /&gt;-----------------------------------------------------------------------------------------------------&amp;nbsp;&lt;br /&gt;MyMaster.master.vb&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Protected Sub AuthorizeWebParts(ByVal sender As Object, ByVal e As WebPartAuthorizationEventArgs)&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;#39; If no roles are set, simply exit&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; If String.IsNullOrEmpty(e.AuthorizationFilter) Then&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Return&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Dim rolesArray As String() = e.AuthorizationFilter.Split(New Char() {&amp;quot;;&amp;quot;c})&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;#39; Assume the user does not have access to the web part&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;e.IsAuthorized = False&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;#39; Loop until the first role that allows the user access to the&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;#39; web part is encountered.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; For Each roleStr As String In rolesArray&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; roleStr.Trim() &amp;#39;** I predefined the Session(&amp;quot;Role&amp;quot;)=&amp;quot;user&amp;quot; in page_load for testing purpose **&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; If roleStr = Session(&amp;quot;Role&amp;quot;) Then&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#39; the user has the rights, so authorize them&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; e.IsAuthorized = True&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Exit For&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; End If&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Next roleStr&amp;nbsp;&lt;br /&gt;End Sub&lt;/p&gt;</description></item></channel></rss>