C# - MVC AuthorizeAttribute Passing Values To ActionMethod?

May 14, 2010

I'm only a newcomer to ASP.NET MVC and am not sure how to achieve a certain task the "right way".

Essentially, I store the logged in userId in HttpContext.User.Identity and have written an EnhancedAuthorizeAttribute to perform some custom authorization.

In the overriden OnAuthorization method, my domain model hits the database to ensure the current user id can access the passed in routeValue "BatchCode". The prototype is:

ReviewGroup GetReviewGroupFromBatchCode(string batchCode);

It will return null if the user can't access the ReviewGroup and the OnAuthorization then denies access.

Now, I know the decorated action method will only get executed if OnAuthorization passes, but I don't want to hit the database a second time to get the ReviewGroup again.

I am thinking of storing the ReviewGroup in HttpContext.Items["reviewGroup"] and accessing this from the controller at the moment.

View 3 Replies


Similar Messages:

Web Forms :: Passing Values From Parent Page To User Control And Maintaining The Values Added

Mar 18, 2011

I wanted to know if we can pass values from Parent page (in this case from Default.aspx page) to the user control and maintain those values on subsequent "Add/Load" of user control.

So in short, if I click the "Add" button it loads my "webusercontrol" and also I am able to pass my default.aspx dropdownlist value to this dynamically loaded user control and assign it to a "Label or Textbox" which resides in my "webusercontrol", now the problem is that the value doesn't persists! What I meant is , when I click "Add" button again the "webusercontrol" gets loaded again perfectly but now all my "Label's" in webusercontrol has the new selected value from the default.aspx dropdownlist.

So say for instance I have a Dropdownlist in Default.aspx page with Values "Apple, BlackBerry, Nokia" and initial value to be passed is "Apple", I click the "Add" button, now my "Label" inside webusercontrol has the value "Apple", perfect! Next when I click "Add" button again and select a different value to be passed this time say "BlackBerry" now I have 2 webusercontrol loaded on the page, so that means I have 2 "Labels" with different ID's, but now my first Label initially had the value "Apple" because that's what I had passed and now when I passed the value "Blackberry" both the labels of my webusercontrol has the value "BlackBerry" instead of one being "Apple" and another "BlackBerry"

Is there a way to resolve this issue? may be Dictionary List?

View 3 Replies

MVC :: Removing ActionMethod Property From Action Filter Contexts?

Nov 17, 2010

I'm trying to get the current action method by this way.

ActionDescriptor actionDescriptor = filterContext.ActionDescriptor;
string actionName = actionDescriptor.ActionName;
var controllerType = filterContext.Controller.GetType();
var actionMethod = controllerType.GetMethod(actionName);

But if there're two action method with the same name, the AmbiguousMatchException will occur there. Without the ActionMethod property, how can I get the current action method now?

View 5 Replies

MVC :: Runtime Sitemap Construction For Each Index() ActionMethod - Custom Attribute?

Jun 21, 2010

Recently, I wrote code that dynamically builds a menu / navbar for my site that uses Reflection upon the [Authorize(Roles="")] attribute to determine what Controllers and ActionMethods should be shown to the user. And it came out really well. See this post for the details on how I did it: [URL]

The next step that I've been thinking about is when the user clicks on the "Controller" listing, it takes the user to the Index page. (eg. [URL] ) Which is perfectly fine, but I was thinking that it would be nice to also have this Index page for each controller dynamically constructed based on the user's roles / permissions. For example, if the Index page from XYZ-Controller might look like:


XYZ-Controller Index
SomeMethod1 -- This method tweaks your widgets
SomeMethod2 -- This method unwinds your widgets, re-orders thems, and then re-winds them, but only on Tuesdays.
SomeMethod3 -- This method will delete some or all of your widgets and then you'll be sad.

I currently use Reflection to iterate thru all my Controllers and all the ActionMethods in each controller. I've been pondering the best way to store the Description of each ActionMethod. (Like, "This method tweaks your widgets.") Do I make my own Attribute called, say, Description which I would use to decorate ActionMethods with. For example it might look like this: [Description("This method tweaks your widgets")]

View 2 Replies

Use AuthorizeAttribute And JsonResult Together?

Jan 28, 2011

What is the most straight forward way to use AuthorizeAttribute and JsonResult together so that when the user is not authorized the application returns a Json error rather than a log in page?The two things I am currently considering are extending AuthorizeAttribute or just making a new attribute that implements IAuthorizationFilter.

View 1 Replies

MVC :: Use AuthorizeAttribute Without Forms Authentication

Oct 12, 2010

I'm writing an MVC app that is a front-end for an existing system with it's own authentication process. I want to mimic the behavior of forms authentication with the [Authorize] attribute redirecting to a log-on page, but the logged in status is handled completely by API calls to the backend system. What do I need to do for ASP.NET MVC to recognize a user as "authenticated" if I'm not using the Forms authentication system?

View 3 Replies

MVC :: Create A Custom AuthorizeAttribute?

Apr 24, 2010

I have a database where i want to log my user into and for this issue i want to customize the AuthorizeAttribute i am wrong ?? have some easier way to do it ??

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
// the "new" must be used here because we are overriding
// the Roles property on the underlying class
public new Authorization.SiteRoles Roles;
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext == null)
throw new ArgumentNullException("httpContext");
string[] users = Users.Split(',');
if (!httpContext.User.Identity.IsAuthenticated)
return false;
int found = Convert.ToInt32(httpContext.Session["role"]);
return Authorization.CheckRolesCompliance(Roles);
}
}

ERROR: 'CustomAuthorizeAttribute.AuthorizeCore(System.Web.HttpContextBase)': no suitable method found to override

View 4 Replies

Use Custom AuthorizeAttribute In View?

Nov 26, 2010

I Create my won Authorize Attribute. Thats work great in the controller. How can I use it in the view.

Example : I have a manage user link, If you haven't access to this page, I don't want to show the link.

Here is my Authorize Attribute.

public class UserAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext.Session["UserID"] == null)

[Code]....

View 1 Replies

MVC :: Creating A Custom AuthorizeAttribute?

Jun 3, 2010

I thought about creating a custom AuthorizeAttribute that will prevent logged in users calling a action ( [UnAuthorized] so to speak)

Tried creating a custom AuthorizeAttribute and override the AuthorizeCore method, but not sure this is the right approach.

(does not work anyhow...get an error telling me "no suitable method found to override")

[Code]....

View 7 Replies

Why Would User.IsInRole Return True, But AuthorizeAttribute Not

Jan 25, 2011

I'm securing an ASP.NET MVC 2 application, and I have a user who is in the role "Foo".

This is true:

User.IsInRole("Foo")

But yet, when I attempt to lock down a controller action like the following, the user is denied:

[Authorize(Roles = "Foo")]
public ActionResult PrivatePage()
{
return View();
}

If IsInRole reports true, why would the Authorize attribute not allow the user in?

View 2 Replies

MVC :: Hide/Show Content Using ActionFilterAttribute/AuthorizeAttribute?

Aug 19, 2010

I'm using MVC 2 with futures, and I'm trying to hide/show content based on role. Is there a way with ActionFilterAttribute or AuthorizeAttribute if the authentication fails to not show a partial view on a controller all through attributes? Or is all I can
do with those attributes is redirect or throw up an error message? I just need the child action to return nothing basically if it fails the authentication.

I found a way using ActionFilterAttribute, but it's kind of a hack because it still calls the ChildAction on the controller and then I'm setting the result to empty afterwards. I'm looking for it not to call the Action/ChildAction at all if the authentication fails. Is there a way to restrict that call?

public
override
void OnActionExecuted(ActionExecutedContext [code].....

View 2 Replies

C# - Extend AuthorizeAttribute And Check The User's Roles?

Feb 25, 2011

I am busy writing my own custom attribute for my action method called MyAuthorizeAttribute, I am still busy writing the code, here is my partial code:

[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class MyAuthorizeAttribute : AuthorizeAttribute
{
public new Role Roles;
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (Roles != 0) // Did it this way to see what the value of Roles was
return;
// Here I am going to get a list of user roles
// I'm doing my own database calls
filterContext.Result = new HttpUnauthorizedResult();
}
}

Here is my Role enum:

public enum Role
{
Administrator = 1,
SuperAdministrator = 2
}

My action method:

[MyAuthorize(Roles = Role.Administrator|Role.SuperAdministrator)]
public ActionResult Create()
{
return View();
}

The reason why I did not use Roles = "Administrator,SuperAdministrator" was because the roles are hard-coded. I don't want to have a 100 places to change if the role name changes.

Given my method, when it gets to if (Roles != 0) then Roles total value is 3, how would I check to see if these 2 roles is in the list of user roles for a specific user?

Am I doing it correct here? If not how would I otherwise implement this? It doesn't have to be the way that I did it in.

View 2 Replies

Passing Values From One Page To Another?

Jun 17, 2010

I have a web page that contains a GridView which the user is allowed to "Edit", "Delete" and "Select" rows. What I'm trying to accomplish is when a user clicks on "Edit", they are redirected to another web page that contains a DetailsView of the record they selected from the GridView (previous page). How do I make the association?

View 7 Replies

MVC :: Passing Values Between Forms?

Oct 5, 2010

[Code]....

How can i get the selected item in de dropdown menu in form one, ofter the button submit in the form two is clicked?

View 5 Replies

Passing Values Between 2 Pages?

Mar 17, 2010

To pass a textbox value across a page I'm using a property on page1.aspx to pass to page2.aspx which I read using a virtual path. the code

[Code]....

When I fire a postback on page2.aspx, the content of employeeid is 0?

both code above is nested with a If Page.IsPostBack =
False
Then statement

View 4 Replies

C# - Passing Values Between Webpages?

Jun 5, 2010

I need to pass a dollar amount from one webpageto another webpage without letting the user modify the values when the values are passed between these pages. ie Page 1 (entry page) to Page 2 (confirmation page)

View 2 Replies

C# - Passing Values Across Pages?

Apr 7, 2010

i need to pass a long list of Ids from one page to another, i was thinking of using querystring but taking in consideration that the number of ids to be passed may reach 300 i think is not a good idea.an option from my understanding may be the use of session, this seems to me an optimal solution in my case but on the other hand I can certainly clear the session when the user performs a certain action and the list of ids is not longer needed, but if the user leaves the page without performing any action i want to clear the session, how can i do it?f multiple users are using the same functionality do i need the session's items to be confused or the session is for a single user?

View 4 Replies

VS 2008 - Passing Values Between Forms

Feb 22, 2010

i want to pass values between forms. wat i did is, I have textbox, a button in form 1 and a label in form 2

1. Created a property to return text of textbox in form 1

2. in form 2 i added previouspagetype and virtual address then i tired to access the property (label.text = previouspage.propertyname).. but no success..

i tried to loop through all controls in previous page to get the value but still its not working.. i wan a simple way.. without using sessions, cookies or anything..

View 19 Replies

AJAX :: Passing Values From One Tab To Another Tab In Tab Control

Feb 28, 2010

here i have a problem,i need to pass the value of one tab to another for tab. For example if i selected a row in the DataGrid based on the DataKeyField of that row i have to display the details in the second tab panel. i tried it but getting a error.

View 2 Replies

ADO.NET :: Passing Values To TableAdapter Parameters?

Nov 12, 2010

I am creating a DataSet to attach to a report (*.rdlc). In the DataSet is a TableAdapter that has the GetData(@start, @end) function. Can someone please explain how I get values in to @start and @end? I have searched and seen that it might have something to do with overriding the Fill function in the DataSet code behind file. Please let me know.

View 1 Replies

Web Forms :: Passing Values From One Page To Other?

Jan 30, 2010

I am building a webpage and getting the values entered in textbox from the use now I want to use the values on the next page and want to display the values overthere... I'll explain in detail:

I have a form like below:

Now I want to redirect the user to another page on button click and then use the values of this textbox.

View 11 Replies

Passing Values From JavaScript To .NET Code-behind?

Nov 1, 2010

I have an ASP.NET Image control declared as:

<asp:Image runat="server" ID="SortOrder"
AlternateText="Ascending"
ImageUrl="~/images/sort_ascending.gif"
CssClass="Ascending"
EnableViewState="true"
/>
[code]...

View 2 Replies

C# - Passing Dynamic Values For Each Row In Listview

Jul 6, 2010

i am using a list view for viewing some information to user there i used a hyperlink in each row to show detailed information in a modal popup in the same page what i want on the click of particular hyperlink the detailed report of that row only should display.
[ID] is the primary key in my database iam passing that as an object from aspx file to the code behind and using that id to fetch data from database. but each time it is showing same information.

View 1 Replies

Cannot Redirect The Page By Passing Values

Oct 29, 2010

I need to auto-redirect a page depending on the a ID number in the address bar. When I run this code, It is giving following exception

string temp = Request.Url.ToString();
string subTemp = temp.Substring(temp.IndexOf("ID="));
temp = subTemp.Remove(subTemp.IndexOf("&"));
subTemp = temp.Substring((temp.IndexOf("=") + 1));
Response.Redirect("http://Share1/ncr/Default.aspx?ID=" + subTemp);

Server Error in '/' Application.

StartIndex cannot be less than zero.

Parameter name: startIndex

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.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex

Source Error:

[Code]....

Stack Trace:

[Code]....

[ArgumentOutOfRangeException: StartIndex cannot be less than zero.Parameter name: startIndex] System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +7494975 TestCodeBehind2.Class4.Page_Load(Object sender, EventArgs e) +69 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

View 3 Replies

Passing Text Values From One Page To Another?

Mar 15, 2011

I am trying to pass some text values from one page to another and I am having some issues. When I click on one button in the parent page then it opens a new popup windows and the user introduce a value in a textbox and when the user click on other button in the popup page, it sould pass some text values to the parent page (puts it in a textbox). The problem is that I have to click twice on the button from the popup window to pass that values, the first time I click the button It shows an error message but the second time I click on it every thing works ok.

[Code]....

View 5 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved