سؤال

أنا أستخدم بلدي SiteMapProvider وهو موروث فقط وإعادة كتابته قليلاً System.Web.XmlSiteMapProvider.

أريد أن أعود مختلفة siteMapNode للعملاء والمديرين. أو ربما نفس الشيء ولكن مع مختلف Title منشأه.

هل هو ممكن؟ إذا كانت الإجابة بنعم ، كيف يمكنني فعل ذلك؟

هل كانت مفيدة؟

المحلول

فيما يلي مقال من مدونة Scott Gu يمكن أن يساعدك. يستخدم المثال في المقالة مصادقة Windows ولكن يجب أن يعمل أيضًا لمصادقة النماذج أيضًا.

http://weblogs.asp.net/scottgu/pages/recipe_3a00_-implementing-role_2d00_based-security-with-asp.net-2.0-using-windows- authentication-and-sql-server.aspx

إذا كنت ترغب في تنفيذ عناوين مختلفة لأدوار مختلفة ، فإليك مثالًا على كيفية القيام بذلك. كل ما عليك فعله هو إنشاء عقدتين تشير إلى عنوان URL نفسه. تتمثل أسباب A = 1 و A = 2 كقائد QueryString على عنوان URL في التأكد من أن عنوان URL فريد من نوعه. إذا لم يكن عنوان URL فريدًا ، فسيشتكي ASP.NET ، إلا إذا كنت تستطيع تجاوز هذه الوظيفة ...

    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
        <siteMapNode url="default.aspx" title="Home">
            <siteMapNode url="page1.aspx?a=1" title="Client Title" roles="Client" />
            <siteMapNode url="page1.aspx?a=2" title="Manager Title" roles="Manager" />
        </siteMapNode> 
    </siteMap>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top