Security :: 401 Web Exception While Accessing A Service?
Jul 2, 2010
I have added a service from a Win2003 server to my Visual Studio project on WinXP machine. Create an oject for this service went OK. But when I tried to run a method in the service I get "401 web exception while accessing a service.".
I have an Asp.net web service that I created using Visual Studio 2005. I can acess the web service in my test environment, call methods and return data as expected. If this web service is published to the outside world (Outside of the company firewall), it will return a null why this might be happening? The same code is being used,against the same database. The only difference is that the published website is giving back the null reference exception. If I type in the URL for the web service "https://secure.theSiteGeist.com/wsIndigo.asmx" a list of methods for the web service is displayed in my browser. Yet if I try and call any methods on the web service I get back the null reference exception. Note that the URL I posted above is not the real name of my web service, but is just used for reference sake.
a C# file in my App_Code folder calls a C++ DLL that is in my BIN folder. I am getting following error:
Security Exception
Description:
The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission contact your system administrator or change the application's trust level in the configuration file.
I hosted my application on GoDaddy shared server. They are not allowing me to give full trust to the application by changing setting in my application's web.config file.
I am trying to access unmanaged code(C++) dll in my asp.net web application project. I created a class to access library functions to be able to use in my application. The DLL is located in Bin Folder of my project. I was able to work with it fine on my localhost server but when I try it on the server where the application is hosted, it gives me this error:
Security Exception:
Description:
The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission contact your system administrator or change the application's trust level in the configuration file.
I'm getting this exception randomly in one webservice, it used to happen in the first call only, and in the second calls and so on it works fine ... and after a while without use the webservice it happens again. It seems to be that when the AppDomain is not loaded, the first time fails... and subsequent calls are ok; when IIS shutdown the AppDomain... the next call will fail again.
My ASP.NET MVC 2 application runs under built-in local NETWORK SERVICE account. I want to set up access permissions for the folder which resides in another computer, but in the same domain. I located that folder right-clicked to open its properties form, clicked to Security tab and pressed Add button which displayed Add user form with correct domain name in the location field. I referred to the account with following syntax:
<domain name><server name>$
because I learned that NETWORK SERVICE account uses machine account when connected to other computers in the domain. However, the system couldn't find the account, so refuses to add the account. Without the domain name it adds a user, but that user seems to be local user, not web server's NETWORK SERVICE account. What am I doing wrong?
By the way, the above syntax worked when I created login for the sql server which is different computer from the web server.
Windows 7 64bit running microsoft visual studio to develop an ASP.NET web application in C#.
Production:
Windows Server 2003 : Microsoft.Net V3.5 : IIS
Application:ASP.NET web application with forms authentication using an Active Directory provider to authenticate against our domain controller. Once authenticated users can select reports which populate a gridview with data from an SQL database.
Background:The web app works flawlessly on development and production. Users can navigate to, authenticate, and access all information on the web app.
Due to sensitive connectionString and active directory provider information in my web.config file we have decided to encrypt those parts.
After researching different methods we chose to do a machine level RSA encryption.
The method which we are following in CMD:
1. cd c:windowsmicrosoft.netframework"version"
2. aspnet_regiis -pc "containerName" //this creates the key container
3. aspnet_regiis -pa "containerName" "NTAUTHORITYNETWORK SERVICE" //this creates an ACL for the NETWORK SERVICE user to be able to access the container and decrypt the web.config file
4. aspnet_regiis -pef "connectionStrings" "C:inetpubwebsiterootdir" -prov "provider" (where provider is the name of the encryption provider in web.config) //this uses the encryption provider to encrypt the data then storing the key in the container that we created in step 2.
5. Repeat this process for any other sections of web.config with sensitive info.
I have an asp.net web app running fine on localhost but I get the system.outofmemory exception on the server on accessing the login page.what should I do to get rid of this problem.
I have a class that derives from System.Web.UI.Page and have set my pages to derive from this custom page class instead of Page. At runtime, the controls are never initialized and throw a NullReferenceException. I've changed some class names and namespaces in the pasted code to protect the innocent. The only thing that I currently override in my PageBase is OnPreLoad and I do call the base.OnPreLoad. I'll eventually add more functionality to this PageBase but for now all that it has is this:
[Code]....
I've tried putting this into a class library (with System.Web referenced) and I've also tried moving the class into the web application and had the same results either way. As another strange twist, I have another class with derives from PageBase called IndexPageBase and it doesn't have this problem:
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: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.Local its run fine. when i place in iis. it throw this exception.
I have created user web control library project and these controls i'm using in my web application. These User controls just works fine in my local machine but when i moved this project(including Library) to our Local server , it is throwing security exception
Error 1 Cannot register assembly "LocalServerLibraryDemoLibraryDemoLibraryinDebugLibrary.dll". Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. Library
I have a web service and its methods return a class which is name WSResult. WSResult has 2 properties. One of property's type is int and the other one's type is object. I want to return some different type with this second property.
[code]....
How can i pass an object which i retrieved from other web services or that i generated from my serializable classes inside M_ResultObject property ?
I m retrieving a pdf file from another application using Web service. After retrieving that file, make some validations and after that I want to delete that file. I want to delete that file in another application database. how can I delete that file ? I m unable to code that one. Can anyone give some startup.
We have a big portal with a lot of code written in classic asp + asp.net 2.0 + JavaScript. We are planning to slowly migrate to .net 3.5 framework with WCF Services. Currently the ASP.Net code is using some business layer to access the database. But most of the Classic ASP is using the old ADO code and directly accessing the data in the page itself. Now, we decided to add a WCF layer between the UI and Business which will be easier to implement with ASP.Net + 3.5, compared to Classic ASP. And we can't invest a lot of Man Hours in converting the Classic ASP pages to asp.net just yet. So we decided to Add a COM layer between Classic ASP and WCF services. So it will be like
Classic ASP -> COM -> CCW (COM Callable Wrapper - Interop) -> WCF -> Business for now.
Later on when we slowly convert the Classic asp pages to asp.net, the COM layer will be removed by default. But for now we are atleast pulling the Business code from Classic Asp pages. We are following this approach because we are not sure how to go about accessing the WCF Service directly from the Classic ASP code.
My web service needs to open some files located on a remote computer.
From Windows I can do the authentication so I can see those files using the File Explorer.
If I try to open the files from my Web Service while it's running using Visual Studio (ASP.NET Development Server) it also works.
However, if I do everything from IIS it doesn't.In order to find out where is the problem what I did was to run a network sniffer and I found out that when using IIS, the system will try to use the account 'ASPNET' to login into those remote computers which will obviously fail.
However this doesn't happen if I run from the IDE (Using the ASP.NET Development Server)I found out that if I use Impersonation for accessing this it will work, the problem is I need to have the same account names on the computer running IIS so I would rather not to do that.
Why is it working from the ASP.NET Development Server and not from IIS? Is there a way to give full access to the ASPNET account?
I am going to be receiving data in a web service. After I receive this data I will be mapping it to a data transfer object. I want to be able to catch exceptions if the data from the service is missing any of the required values, times out or any data is malformed.
What can I do to generally catch these exceptions?
I have the following problem with a slideshow in Ajax. Hope I have put it in the right Ajax forum. Some info: I do use MS Access and in the 'autos table' i do have the following fields:
field 1: nummer (text field) - this is the name of the image field 2: cat (integer) - this is the category of the cars field 3: naam (text field) - this is the name of the car field 4: model (text field - this is the model of the car
In my masterpage i do have a menu where you can make the choice of a certain category of cars. This is done by a call to: slideshow.aspx?cat=100 In Slideshow.aspx a panel is setup and also buttons to manipulate the found images. Also the AjaxToolkit:Slideshowextender is defined as follows:
<ajaxToolkit:SlideShowExtender ID="SlideShowExtender1" runat="server" TargetControlID="Image1" SlideShowServicePath="slideservice.asmx" SlideShowServiceMethod="Getslides" AutoPlay="true" ImageTitleLabelID="Name" ImageDescriptionLabelID="Desc" NextButtonID="NextButton" PlayButtonID="PlayButton" PlayButtonText="Play" StopButtonText="Stop" PreviousButtonID="PrevButton" PlayInterval="4000" Loop="true" ContextKey="catid" /> As you can see the contactkey is also defined. Inside the codebehind of slideshow.aspx.vb their is a sub defined: Partial Class Slideshow Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load SlideShowExtender1.ContextKey = Request.QueryString("catid") End Sub End Class The call from slideshow.aspx is to a slideservice.asmx which contains: <%@ WebService Language="VB" CodeBehind="~/App_Code/SlideService.vb" %> Here we call slideservice.vb. The coding of the slideservice.vb file is: Imports System.Web Imports System.Web.Services Imports System.Web.Services.Protocols Imports System.Data.OleDb Imports System.Web.UI.Page <WebService(Namespace:="http://vancouver.com/")> _ <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ <System.Web.Script.Services.ScriptService()> _ Public Class SlideService Inherits System.Web.Services.WebService <WebMethod()> _ Public Function GetSlides(ByVal contextKey As String) As AjaxControlToolkit.Slide() Dim strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Vancouver.mdb" Dim cn As New OleDbConnection(strconn) Dim SQLStr As String SQLStr = "SELECT nummer, naam, model FROM Autos WHERE ((Autos.cat) = @catid)" Try cn.Open() Dim cmd As New OleDbCommand(SQLStr, cn) Dim sCatid As String = "" ' Give the value to sCatid from contextkey If sCatid.Trim().Length = 0 Then sCatid = contextKey cmd.Parameters.AddWithValue("@catid", sCatid) Dim thisReader As OleDbDataReader = cmd.ExecuteReader() Dim photoCounter As Integer While thisReader.Read() photoCounter = photoCounter + 1 End While If (photoCounter > 0) Then 'we now know how many pictures there are in this category of the database Dim MySlides(photoCounter - 1) As AjaxControlToolkit.Slide 'set up the command string Dim photoLookupCmd As New OleDbCommand(SQLStr, cn) 'and add the parameters to it for the category photoLookupCmd.Parameters.AddWithValue("@catid", sCatid) thisReader = photoLookupCmd.ExecuteReader() Dim i As Integer For i = 0 To photoCounter - 1 thisReader.Read() Dim number As String = thisReader.GetString(0) Dim name As String = thisReader.GetString(1) + " - " + thisReader.GetString(2) MySlides(i) = New AjaxControlToolkit.Slide(("pictures" + number + ".jpg"), name, "") Next thisReader.Close() Return MySlides Else Dim MySlides(0) As AjaxControlToolkit.Slide MySlides(0) = New AjaxControlToolkit.Slide("pictures99999.jpg", "sorry - not available", "pls. mail us to report") thisReader.Close() Return MySlides End If Catch x As Exception Dim MySlides(0) As AjaxControlToolkit.Slide MySlides(0) = New AjaxControlToolkit.Slide("pictures99999.jpg", "Exception error", "pls. mail us to report") Return MySlides Finally cn.Close() End Try End Function End Class
When i run the code i will get an exception error and when following the code in debug mode i do see that inside the first loop in FOR i = 0 to photocounter - 1 : The first loop gets the right info from the database inside Myslide(1) fields. Going into the second loop i will get after dim name as string .....
the program goes to catch x as exception. I did see that number was found correctly during the previuous line. During an other debug session i noticed that the Parameter.item has the following error (which I do not understand), saying: Overload resolution failed because no accessible 'Item´ accepts this number of arguments.
I have a web service which is in a folder within my application. This folder is only accesible to certain roles. I use this service in a page on root of the application but I block creation of the javascript or the service definition in the aspx page if the user is not in the role.
The problem is that when anonymous users try to access the page in the root of the application they are prompted for a user name and password. I hope I am clear. The code below is what I have set up in the ASPX page:
When I'm accessing web service from jquery, I'm getting the 403 forbidden error.. I published and created in the virtual directory too. Wat's the cause of this error and how to rectify it? I've added the webservice in the same solution.. This is my following code..
How to Protect Web services from Un authenticated users.. right now Im Using Protected Access specifiers.. Is it Correct method To Protect Web services?
I am writing two ASP.NET apps. One is a web service that provides xml data and the other is a web client that will use the service to display and manipulate data. I would like for the web service to do the membership authentication and authorization. Is there any way to simply point the login controls in my client application to the web service instead of to a database. I assume I would have to provide the necesarry methods in my web service interface, which would then use the membership provider database I created and pass the results back through to the client.
Is this possible? I have seen many articles on security provisioin from a web service but none has really been what I am looking for. I was hoping that, since my service and my client are both written in ASP.NET, there might be some built functionality that would benefit me.
I have installed a web service in a client machine, its accessing a mapped network drive from a remote machine. But when its trying to read files from that file I'm getting this error
Code:
Message: Authentication failed Description: QBWC1012: Authentication failed due to following error message. System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.IO.IOException: Logon failure: unknown user name or bad password. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption) at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption) at System.IO.Directory.GetFiles(String path, String searchPattern) at WCWebService.WCWebService.authenticate(String strUserName, String strPassword) in C:inetpubwwwrootinvoicecreatews codeinvoicecreatewsWCWebService.asmx.cs:line 463 --- End of inner exception stack trace --- See QWCLog for more details. Remember to turn logging on.
I have supplied user crendentials also, the same web service working in another machine with the same mapped drive with the same user credentials. Manually I can map the drive using the credentials which I'm passing thru the application.