Question

Photo of Kent Shilts

0

Unable to load Login page

After adjusting settings on security clearances on our instance of Rock this error now exists when trying to resolve the url in web browser. The url is people.myresonateindy.com if you want to view the page error directly. I restarted the website and IIS from our external hosting page, cleared our Rock cache, and restarted Rock from within the application after finalizing the security changes. 

The external site is accessible from alternate urls entered directly into a web browser and then logging in from the redirected page. Any help with what connection I broke would be greatly appreciated. Please see stack trace below

- Kent Shilts

 

Stack Trace:

[NullReferenceException: Object reference not set to an instance of an object.]
   Rock.Model.<>c__DisplayClass6.<GetActiveForms>b__2(WorkflowAction a) +93
   System.Linq.WhereListIterator`1.MoveNext() +56
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +381
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +58
   Rock.Model.WorkflowActionService.GetActiveForms(Person person) +752
   RockWeb.Blocks.WorkFlow.MyWorkflowsLiquid.GetActiveForms(RockContext rockContext) in e:\hostingspaces\resonate\myresonateindy.com\wwwroot\Blocks\WorkFlow\MyWorkflowsLiquid.ascx.cs:358
   RockWeb.Blocks.WorkFlow.MyWorkflowsLiquid.GetActions() in e:\hostingspaces\resonate\myresonateindy.com\wwwroot\Blocks\WorkFlow\MyWorkflowsLiquid.ascx.cs:337
   RockWeb.Blocks.WorkFlow.MyWorkflowsLiquid.BindData() in e:\hostingspaces\resonate\myresonateindy.com\wwwroot\Blocks\WorkFlow\MyWorkflowsLiquid.ascx.cs:283
   RockWeb.Blocks.WorkFlow.MyWorkflowsLiquid.OnLoad(EventArgs e) in e:\hostingspaces\resonate\myresonateindy.com\wwwroot\Blocks\WorkFlow\MyWorkflowsLiquid.ascx.cs:240
   System.Web.UI.Control.LoadRecursive() +54
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Control.LoadRecursive() +145
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772

 

  • Kent Shilts

    Sorry I will add the error that is shown at the top of the page:


    Server Error in '/' Application.


    Object reference not set to an instance of an object.


    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.


    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.


    Source Error:


    Line 356: if (formActions == null)
    Line 357: {
    Line 358: formActions = new WorkflowActionService( rockContext ).GetActiveForms( CurrentPerson );
    Line 359: RockPage.SaveSharedItem( "ActiveForms", formActions );
    Line 360: }


    Source File: e:\hostingspaces\resonate\myresonateindy.com\wwwroot\Blocks\WorkFlow\MyWorkflowsLiquid.ascx.cs Line: 358

  • Photo of Rock RMS

    1

    The "out-of-the-box" security settings for the Rock RMS site are as follows:

    View:
    Allow Rock Administrators 
    Allow Staff Users
    Allow Staff-Like Users
    Deny All Users

    Edit/Administrate/Approve:
    Allow Rock Administrators
    Deny All Users

     

    The key here is to make sure that 'All Users' is denied access, and only specific roles are allowed to view that site. That will force a user to be logged in when viewing the home page.


     

    • David Stevens

      I'm looking at this for Kent. I set the Auth rules for the homepage to the same as the ones that are on the Demo site, but that didn't allow me to see the homepage. Is there possibly a migration/script we could run to reset all the roles?

  • Photo of Rock RMS

    1

    Guessing a bit, but perhaps you deleted too many of the permissions. Now when you load the internal homepage it's possible that you're not logged in at all and the MyWorkflows block is generating an exception as it's expecting you to be logged in. Try this:

    1. Proceed straight to the login page and login: http://people.myresonateindy.com/page/3
    2. Then load the homepage http://people.myresonateindy.com/ . Assuming this page will now load.
    3. Go back to the Sites admin page 'Admin Tools > CMS Configuration > Sites' and restore the security to the original settings. You can pattern it after the settings on the demo site (rock.rocksolidchurchdemo.com).

    Thinking that should work. If not let us know.  We'll also make a note to keep the MyWorkflow block from blowing up if there is no user.

  • Photo of Kent Shilts

    0

    On my quest to adjust security settings I am now unable to proceed through step 2. After going directly to .../page/3 and successfully logging in I am blocked from loading the home page. I am assuming I deleted too many of the security permissions from the database as you speculated, but am unsure what to change so I can load the home page... I was attempting to change the security settings of the home page and I am wondering if for some reason these settings are interpreted as hierarchical. When I changed home page settings to allow all users to view the other pages of the internal site inherited these same settings. 

    My account is set as one of the administrators of the site and this is currently the view that I have when I log in. When I navigate to AdminTools>CMS Configuration>Sites and click on the lock I am blocked from changing these. From SQLManager I have removed all the security permissions from the Auth Table (not sure if I was supposed to do that), restarted the website and IIS pool from WebsitePanel, cleared my browser cache, but the one thing that I have not been able to do is clear the Rock cache. When I click on the icon in the Admin Toolbar I receive the security blocker message. 

    Screen Shot 2015-02-22 at 2.21.28 PM.png

    • Kent Shilts

      Found the documentation that shows the security settings are hierarchical, but I am not sure that makes logical sense for the way the pages are arranged. For example the home page to our internal site should be able to be viewed by all approved users, but when that setting is applied all users will be given access to everything. When making a change to the home page security this turns into a large project to redo the security settings on all child pages.