Security Exeception during upgrade

Discussion in 'ASP .Net Security' started by SteveWestling, Nov 19, 2005.

  1. I'm upgrading from a Framework 1.0.3705 app to a Framework 1.1.4322 app. When
    I try to make my first call, where the system registers my components in
    component services. But now I get the following message:

    Server Error in '/theSolver' Application.
    Security Exception
    Description: The application attempted to perform an operation not allowed
    by the security policy. To grant this application the required permission
    please contact your system administrator or change the application's trust
    level in the configuration file.

    Exception Details: System.Security.SecurityException: Requested registry
    access is not allowed.

    Source Error:

    Line 42: UDL = "PS.UDL";
    Line 43: }
    Line 44: doc.LoadXml(user.VerifyLogin(EmailID, Password, RequesterId,
    UDL));
    Line 45: node = doc.SelectSingleNode("//system_user");
    Line 46: RequesterId =
    System.Convert.ToInt32(node.Attributes.GetNamedItem("requester_id").Value);


    Source File: D:\theSolver\PSLogin.aspx Line: 44

    Stack Trace:

    [SecurityException: Requested registry access is not allowed.]
    Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable) +473
    System.Diagnostics.EventLog.CreateEventSource(String source, String
    logName, String machineName, Boolean useMutex) +443
    System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    type, Int32 eventID, Int16 category, Byte[] rawData) +347
    System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    type, Int32 eventID, Int16 category) +21
    System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    type, Int32 eventID) +15
    System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    type) +11

    PositiveSolutions.SystemUser.PositiveSolutions.ISystemUser.VerifyLogin(String
    EmailId, String Password, Int32 RequesterId, String UDL) +955
    ASP.PSLogin_aspx.__Render__control1(HtmlTextWriter __output, Control
    parameterContainer) in D:\theSolver\PSLogin.aspx:44
    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
    System.Web.UI.Control.Render(HtmlTextWriter writer) +7
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
    System.Web.UI.Page.ProcessRequestMain() +2112
    System.Web.UI.Page.ProcessRequest() +218
    System.Web.UI.Page.ProcessRequest(HttpContext context) +18

    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute() +179
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
    completedSynchronously) +87


    Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET
    Version:1.1.4322.2032

    So I used the configuration utility and here's what my security.config looks
    like:
    <CodeGroup class="UnionCodeGroup"
    version="1"
    PermissionSetName="FullTrust"
    Name="PBSGroup"
    Description="PBS Code group">
    <IMembershipCondition
    class="StrongNameMembershipCondition"
    version="1"

    PublicKeyBlob="00240000048000009400000006020000002400005253413100040000010001002D1F61710370C9861930434A1516A75F4485DFFF77AC5BD414241318DAD0E1686219397B3D1AD5C272D37DF52BE785FFD56281C800636E21FB47093A6E0FB793901EBBB7884609E5BE659FB27B9BEEA45F195F99C522A892691935C1DB01FE0F4499E75BFD98EC1FE979319BE55DFADBCB8D582E96A67325D9E22EAF1D1C49EA"/>
    </CodeGroup>

    and I manually editted my machine.config as follows:

    <location allowOverride="true">
    <system.web>
    <securityPolicy>
    <trustLevel name="Full" policyFile="internal" />
    <trustLevel name="High" policyFile="web_hightrust.config" />
    <trustLevel name="Medium"
    policyFile="web_mediumtrust.config" />
    <trustLevel name="Low" policyFile="web_lowtrust.config" />
    <trustLevel name="Minimal"
    policyFile="web_minimaltrust.config" />
    </securityPolicy>

    <!-- level="[Full|High|Medium|Low|Minimal]" -->
    <trust level="Full" originUrl="http://127.0.0.1/*" />

    </system.web>
    </location>

    Any thoughts on what I'm overlooking?

    Thanks in advance
     
    SteveWestling, Nov 19, 2005
    #1
    1. Advertising

  2. This particular SecurityException can occur due to a lack of user
    permissions, not just a lack of CAS permissions. What happens if you
    attempt to run the first call (which is presumably registering the event
    source) under an admin account rather than from within your application?
    Also, what is the name of the event log (not the source, but the log) to
    which your code is attempting to write?


    "SteveWestling" <> wrote in message
    news:...
    > I'm upgrading from a Framework 1.0.3705 app to a Framework 1.1.4322 app.
    > When
    > I try to make my first call, where the system registers my components in
    > component services. But now I get the following message:
    >
    > Server Error in '/theSolver' Application.
    > Security Exception
    > Description: The application attempted to perform an operation not allowed
    > by the security policy. To grant this application the required permission
    > please contact your system administrator or change the application's trust
    > level in the configuration file.
    >
    > Exception Details: System.Security.SecurityException: Requested registry
    > access is not allowed.
    >
    > Source Error:
    >
    > Line 42: UDL = "PS.UDL";
    > Line 43: }
    > Line 44: doc.LoadXml(user.VerifyLogin(EmailID, Password, RequesterId,
    > UDL));
    > Line 45: node = doc.SelectSingleNode("//system_user");
    > Line 46: RequesterId =
    > System.Convert.ToInt32(node.Attributes.GetNamedItem("requester_id").Value);
    >
    >
    > Source File: D:\theSolver\PSLogin.aspx Line: 44
    >
    > Stack Trace:
    >
    > [SecurityException: Requested registry access is not allowed.]
    > Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
    > +473
    > System.Diagnostics.EventLog.CreateEventSource(String source, String
    > logName, String machineName, Boolean useMutex) +443
    > System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    > type, Int32 eventID, Int16 category, Byte[] rawData) +347
    > System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    > type, Int32 eventID, Int16 category) +21
    > System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    > type, Int32 eventID) +15
    > System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    > type) +11
    >
    > PositiveSolutions.SystemUser.PositiveSolutions.ISystemUser.VerifyLogin(String
    > EmailId, String Password, Int32 RequesterId, String UDL) +955
    > ASP.PSLogin_aspx.__Render__control1(HtmlTextWriter __output, Control
    > parameterContainer) in D:\theSolver\PSLogin.aspx:44
    > System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
    > System.Web.UI.Control.Render(HtmlTextWriter writer) +7
    > System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
    > System.Web.UI.Page.ProcessRequestMain() +2112
    > System.Web.UI.Page.ProcessRequest() +218
    > System.Web.UI.Page.ProcessRequest(HttpContext context) +18
    >
    > System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute()
    > +179
    > System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
    > completedSynchronously) +87
    >
    >
    > Version Information: Microsoft .NET Framework Version:1.1.4322.2032;
    > ASP.NET
    > Version:1.1.4322.2032
    >
    > So I used the configuration utility and here's what my security.config
    > looks
    > like:
    > <CodeGroup class="UnionCodeGroup"
    > version="1"
    > PermissionSetName="FullTrust"
    > Name="PBSGroup"
    > Description="PBS Code group">
    > <IMembershipCondition
    > class="StrongNameMembershipCondition"
    > version="1"
    >
    > PublicKeyBlob="00240000048000009400000006020000002400005253413100040000010001002D1F61710370C9861930434A1516A75F4485DFFF77AC5BD414241318DAD0E1686219397B3D1AD5C272D37DF52BE785FFD56281C800636E21FB47093A6E0FB793901EBBB7884609E5BE659FB27B9BEEA45F195F99C522A892691935C1DB01FE0F4499E75BFD98EC1FE979319BE55DFADBCB8D582E96A67325D9E22EAF1D1C49EA"/>
    > </CodeGroup>
    >
    > and I manually editted my machine.config as follows:
    >
    > <location allowOverride="true">
    > <system.web>
    > <securityPolicy>
    > <trustLevel name="Full" policyFile="internal" />
    > <trustLevel name="High" policyFile="web_hightrust.config"
    > />
    > <trustLevel name="Medium"
    > policyFile="web_mediumtrust.config" />
    > <trustLevel name="Low" policyFile="web_lowtrust.config" />
    > <trustLevel name="Minimal"
    > policyFile="web_minimaltrust.config" />
    > </securityPolicy>
    >
    > <!-- level="[Full|High|Medium|Low|Minimal]" -->
    > <trust level="Full" originUrl="http://127.0.0.1/*" />
    >
    > </system.web>
    > </location>
    >
    > Any thoughts on what I'm overlooking?
    >
    > Thanks in advance
     
    Nicole Calinoiu, Nov 20, 2005
    #2
    1. Advertising

  3. Thanks for your reply, but I figured it out after doing extensive searches on
    the web.

    FYI. You are absolutely right, it was user permissions. My web application
    writes errors to the event log and the first time I opened it an error
    occured (invalid login). In order for the app to use the event log, I had to
    open the registry with regedit, find the key for Event log and modify the
    permissions. Specifically, I granted the group users Full Control of that
    key. I believe I only need to give Full Control to the user "NETWORK LOGIN"
    but I was so busy trying to complete the rest of the process, I haven't yet
    gone back to revise the setting.

    Thanks again for your help.

    "Nicole Calinoiu" wrote:

    > This particular SecurityException can occur due to a lack of user
    > permissions, not just a lack of CAS permissions. What happens if you
    > attempt to run the first call (which is presumably registering the event
    > source) under an admin account rather than from within your application?
    > Also, what is the name of the event log (not the source, but the log) to
    > which your code is attempting to write?
    >
    >
    > "SteveWestling" <> wrote in message
    > news:...
    > > I'm upgrading from a Framework 1.0.3705 app to a Framework 1.1.4322 app.
    > > When
    > > I try to make my first call, where the system registers my components in
    > > component services. But now I get the following message:
    > >
    > > Server Error in '/theSolver' Application.
    > > Security Exception
    > > Description: The application attempted to perform an operation not allowed
    > > by the security policy. To grant this application the required permission
    > > please contact your system administrator or change the application's trust
    > > level in the configuration file.
    > >
    > > Exception Details: System.Security.SecurityException: Requested registry
    > > access is not allowed.
    > >
    > > Source Error:
    > >
    > > Line 42: UDL = "PS.UDL";
    > > Line 43: }
    > > Line 44: doc.LoadXml(user.VerifyLogin(EmailID, Password, RequesterId,
    > > UDL));
    > > Line 45: node = doc.SelectSingleNode("//system_user");
    > > Line 46: RequesterId =
    > > System.Convert.ToInt32(node.Attributes.GetNamedItem("requester_id").Value);
    > >
    > >
    > > Source File: D:\theSolver\PSLogin.aspx Line: 44
    > >
    > > Stack Trace:
    > >
    > > [SecurityException: Requested registry access is not allowed.]
    > > Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
    > > +473
    > > System.Diagnostics.EventLog.CreateEventSource(String source, String
    > > logName, String machineName, Boolean useMutex) +443
    > > System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    > > type, Int32 eventID, Int16 category, Byte[] rawData) +347
    > > System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    > > type, Int32 eventID, Int16 category) +21
    > > System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    > > type, Int32 eventID) +15
    > > System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType
    > > type) +11
    > >
    > > PositiveSolutions.SystemUser.PositiveSolutions.ISystemUser.VerifyLogin(String
    > > EmailId, String Password, Int32 RequesterId, String UDL) +955
    > > ASP.PSLogin_aspx.__Render__control1(HtmlTextWriter __output, Control
    > > parameterContainer) in D:\theSolver\PSLogin.aspx:44
    > > System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
    > > System.Web.UI.Control.Render(HtmlTextWriter writer) +7
    > > System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
    > > System.Web.UI.Page.ProcessRequestMain() +2112
    > > System.Web.UI.Page.ProcessRequest() +218
    > > System.Web.UI.Page.ProcessRequest(HttpContext context) +18
    > >
    > > System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute()
    > > +179
    > > System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
    > > completedSynchronously) +87
    > >
    > >
    > > Version Information: Microsoft .NET Framework Version:1.1.4322.2032;
    > > ASP.NET
    > > Version:1.1.4322.2032
    > >
    > > So I used the configuration utility and here's what my security.config
    > > looks
    > > like:
    > > <CodeGroup class="UnionCodeGroup"
    > > version="1"
    > > PermissionSetName="FullTrust"
    > > Name="PBSGroup"
    > > Description="PBS Code group">
    > > <IMembershipCondition
    > > class="StrongNameMembershipCondition"
    > > version="1"
    > >
    > > PublicKeyBlob="00240000048000009400000006020000002400005253413100040000010001002D1F61710370C9861930434A1516A75F4485DFFF77AC5BD414241318DAD0E1686219397B3D1AD5C272D37DF52BE785FFD56281C800636E21FB47093A6E0FB793901EBBB7884609E5BE659FB27B9BEEA45F195F99C522A892691935C1DB01FE0F4499E75BFD98EC1FE979319BE55DFADBCB8D582E96A67325D9E22EAF1D1C49EA"/>
    > > </CodeGroup>
    > >
    > > and I manually editted my machine.config as follows:
    > >
    > > <location allowOverride="true">
    > > <system.web>
    > > <securityPolicy>
    > > <trustLevel name="Full" policyFile="internal" />
    > > <trustLevel name="High" policyFile="web_hightrust.config"
    > > />
    > > <trustLevel name="Medium"
    > > policyFile="web_mediumtrust.config" />
    > > <trustLevel name="Low" policyFile="web_lowtrust.config" />
    > > <trustLevel name="Minimal"
    > > policyFile="web_minimaltrust.config" />
    > > </securityPolicy>
    > >
    > > <!-- level="[Full|High|Medium|Low|Minimal]" -->
    > > <trust level="Full" originUrl="http://127.0.0.1/*" />
    > >
    > > </system.web>
    > > </location>
    > >
    > > Any thoughts on what I'm overlooking?
    > >
    > > Thanks in advance

    >
    >
    >
     
    SteveWestling, Nov 20, 2005
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. stasz
    Replies:
    0
    Views:
    274
    stasz
    Sep 19, 2005
  2. Waldy
    Replies:
    6
    Views:
    429
    Waldy
    Nov 15, 2007
  3. traveller
    Replies:
    0
    Views:
    1,248
    traveller
    Jan 8, 2008
  4. Dmitry Korolyov

    Datagrid not updated during delete, but updated during insert and update

    Dmitry Korolyov, Sep 22, 2003, in forum: ASP .Net Datagrid Control
    Replies:
    0
    Views:
    444
    Dmitry Korolyov
    Sep 22, 2003
  5. Replies:
    5
    Views:
    314
    Dr.Ruud
    Jul 5, 2006
Loading...

Share This Page