Сведения о вопросе

1234123213

20:34, 27th August, 2020

Теги

c#   .net   asp.net   blogs    

Приватизация установки BlogEngine.Net

Просмотров: 505   Ответов: 5

У меня есть установка blogengine.net, которая требует приватизации.

В данный момент я занимаюсь исследовательской работой, но я должен держать свой блог/журнал в секрете, пока не будут выполнены определенные условия.

Как я могу приватизировать свою установку blogEngine.net, чтобы читатели должны были войти в систему, чтобы прочитать мои сообщения?



  Сведения об ответе

padenie

04:26, 28th August, 2020

От: BlogEngine.NET 2.5-Частные Блоги

Если вы зайдете в Панель управления, вкладку Пользователи, вложенную вкладку роли (справа), для "Anonymous" в правой области инструментов наведите указатель мыши на нее и выберите "Rights".

Теперь вы находитесь на странице прав для анонимной роли. Снимите все флажки, в частности "View Public Posts". HOWEVER, вы должны держать хотя бы один элемент проверенным, иначе все возвращается к умолчанию. Например, вы можете держать "View Ratings on Posts" проверенным. после этого сохранить.

Затем все, кто не вошел в систему, должны быть автоматически перенаправлены на страницу входа в систему независимо от того, на какой странице они пытаются войти на сайт.


  Сведения об ответе

baggs

09:35, 14th August, 2020

ответ Ломакса не сработал, поэтому я решил не заставлять blogengine.net выполнять auth для читателей.

на iis я отключил анонимный доступ и добавил гостевых пользователей в список пользователей win2k3.


  Сведения об ответе

COOL

10:46, 26th August, 2020

Я использую это расширение. Просто сохраните файл как RequireLogin.cs в папке App_Code\Extensions и убедитесь, что расширение активировано.

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using BlogEngine.Core;

using BlogEngine.Core.Web.Controls;

using System.Collections.Generic;



/// <summary>

/// Summary description for PostSecurity

/// </summary>

[Extension("Checks to see if a user can see this blog post.",

            "1.0", "<a href=\"http://www.lavablast.com\">LavaBlast.com</a>")]

public class RequireLogin
{

    static protected ExtensionSettings settings = null;



    public RequireLogin()
    {

        Post.Serving += new EventHandler<ServingEventArgs>(Post_Serving);



        ExtensionSettings s = new ExtensionSettings("RequireLogin");

        // describe specific rules for entering parameters

        s.Help = "Checks to see if the user has any of those roles before displaying the post. ";

        s.Help += "You can associate a role with a specific category. ";

        s.Help += "All posts having this category will require that the user have the role. ";

        s.Help += "A parameter with only a role without a category will enable to filter all posts to this role. ";

        ExtensionManager.ImportSettings(s);

        settings = ExtensionManager.GetSettings("PostSecurity");

    }



    protected void Post_Serving(object sender, ServingEventArgs e)
    {
        MembershipUser user = Membership.GetUser();
        if(HttpContext.Current.Request.RawUrl.Contains("syndication.axd"))
        {
            return;
        }

        if (user == null)
        {
            HttpContext.Current.Response.Redirect("~/Login.aspx");
        }
    }
}


  Сведения об ответе

lats

21:42, 5th August, 2020

Мы создали простой инструмент, который дает определенным пользователям доступ к определенным записям в соответствии с их ролями членства ASP.NET, чтобы получить несколько аналогичный результат.

http://blog.lavablast.com/post/2008/08/BlogEnginenet-Post-Security.aspx


  Сведения об ответе

#hash

00:15, 27th August, 2020

Я думаю, что это можно сделать в файле web config, сделав что-то вроде следующего:

<system.web>
    <authorization>
      <allow roles="Admin" />
      <deny users="*" />
    </authorization>
</system.web>


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться