Reference:
http://codesnipets.wordpress.com/2010/12/25/sharepoint-2010-and-asp-net-web-application-security-exception/
SharePoint Groups or accounts such as a domain user or domain group can be assigned permissions to a SharePoint object such as a Site, List, Library, Folder or List Item. Permission Levels such as Contribute and Read are made up of individual permissions. Within this section we will explore the Out-of-the-Box permissions levels before exploring how we can create custom permission levels.
To access the Out-of-the-Box permissions, choose Site Actions, Site Permissions. You will be able to see a list of users/groups that have permission to your team site. Within the Permission Tools ribbon, click Permission Levels to see the existing permission levels.
Figure 11 – Accessing Permission Levels
The Out-of-the-Box permission levels include:
| Full Control | User will receive every SharePoint Permission unless the permission has been removed via a Permission Policy. The permission level cannot be modified. | 
| Design | Users with Design Permissions can virtually do everything with the exception of Manage Permissions on the Site, View Web Analytics Data, Create Subsites, Manage Web Site, Create Groups, Enumerate Permissions and Manage Alerts. Users with this permission level can create, edit and delete list items as well as make design changes to the Shared views of the site and lists. | 
| Contribute | Contributers can create, edit, and delete items within lists and libraries. They have the same restrictions as Design plus they cannot manage the look and feel of sites or shared views. They cannot apply themes, styles, or modify pages. | 
| Read | Readers have the same restrictions as Contributers. In addition they cannot Create, Edit or Delete Items. They can only open items to read them. They also do not get any personal permissions and therefore cannot add or remove personal web parts, manage personal views or edit personal user information. | 
| Limited Access | Limited Access provides you enough permissions to navigate to an item that you do have permission to. For example, you may have been granted Read permissions to a Document within a library that had broken permission inheritance. If you did not have permissions granted to you for the site or library that contained the document, you would be granted limited access which allows you to navigate to the document without seeing any other content. Limited Access is often incorrectly reported in the permission reports. E.g. A user may have Full Control to a Site via a Domain Group. They are also granted permissions directly to a document. The user would then be listed as having Limited Access instead of Full Control to the Team Site. | 
| View Only | The same as read but cannot download documents. Can only view them in the browser. | 
| Approve | Very similar to contribute but also has Approve Items permission. | 
| Manage Hierarchy | Virtually the same as Full Control but does not have Design change options such as apply theme. Used by users who are likely to move sites around. | 
| Restricted Read | Can view pages and documents, but cannot view historical versions or user permissions. | 
You can change the existing permission levels or create your own permission levels at the root site level in the site collection only. In SharePoint 2007, this could be done at sub site level. It is possible to break permission level inheritance but only through the Object Model but that is beyond the scope of this article. You will find a good explanation here: http://stackoverflow.com/questions/7038444/programatically-break-permission-level-inheritance
Note: I would recommend never changing the existing permission levels as that would be very confusing to users who expect a permission level to behave within a certain way.
The reason for creating a custom permission level will be specific to your needs. It might be that you want for example a permission level that lies somewhere between Read and Contribute. Perhaps you want users to be able to Add and Edit items but not Delete.
You can create a custom permission level in two ways. Firstly, you can create them from scratch and select each permission that you would like the permission level to have. Or you can copy an existing permission level, provide it a new name, and then apply the changes to the new copy.
To create a new permission level from scratch:
Figure 12 – Creating a custom permission level from scratch.
To create a custom permission level by copying an existing permission level:
Figure 13 – Copying a Permission Level.
7. Provide a Name and Description for your custom permission level.
8. Make the desired changes by selecting or deselecting the permissions check boxes.
Permission Levels can be assigned to Users, Local Groups or Domain Groups as well as SharePoint Groups. There are different opinions on what you should do. However, my personal preference is to use add domain groups to SharePoint Groups in order for permissions to be granted rather than assigning domain groups permissions directly. Within your environment, you may find granting permissions directly to Active Directory users or groups works best.
To assign permissions to a SharePoint Group:
Figure 14 – Editing permissions for a SharePoint group
3. Check the permission level that you would like to grant to this SharePoint Group.
Figure 15 – Assigning the custom permission level
| 
FEATURE | 
MAXIMUM
  LIMIT | 
| 
Number of items in a list or
  library | 
50 million | 
| 
Size of an individual file item or
  item attachment | 
2 Gigabytes | 
 Information workers can use appropriate views, styles, and page
limits to speed up the display of data on the page.
 Information workers can use appropriate views, styles, and page
limits to speed up the display of data on the page. Filtered views with column indexes (and other operations) create
database queries that identify a subset of columns and rows and return this
subset to your computer.
 Filtered views with column indexes (and other operations) create
database queries that identify a subset of columns and rows and return this
subset to your computer. Farm administrators can specify dedicated time windows for all
users to do unlimited operations during off-peak hours.
 Farm administrators can specify dedicated time windows for all
users to do unlimited operations during off-peak hours. Privileged developers can use object model overrides to
temporarily increase thresholds and limits for custom applications.
 Privileged developers can use object model overrides to
temporarily increase thresholds and limits for custom applications. Thresholds and limits help throttle operations and balance
resources for many simultaneous users.
 Thresholds and limits help throttle operations and balance
resources for many simultaneous users. List or library data in a site collection is stored in a SQL
Server database table, which uses queries, indexes and locks to maintain
overall performance, sharing, and accuracy.
 List or library data in a site collection is stored in a SQL
Server database table, which uses queries, indexes and locks to maintain
overall performance, sharing, and accuracy.| 
THRESHOLD  OR LIMIT | 
DEFAULT VALUE | 
DESCRIPTION | 
| 
List View Threshold | 
5,000 | 
Specifies the maximum number of
  list or library items that a database operation, such as a query, can process
  at one time. Operations that exceed this limit are blocked. 
To give you time to make
  alternative plans, SharePoint 2010 warns you on the List Settings page when
  your list has exceeded 3,000 items. The warning contains a help link to this
  topic. | 
| 
Unique permissions limit | 
50,000 | 
Specifies the maximum number of
  unique permissions allowed for a list or library. 
Every time you break the
  inheritance of permissions for an item or folder, it is counted as 1 unique
  permission toward this limit. If you try to add an item that would lead to
  exceeding this limit, you are prevented from doing so. | 
| 
Row size limit | 
6 | 
Specifies the maximum number of
  table rows internal to the database used for a list or library item. To
  accommodate wide lists with many columns, each item is wrapped over several
  internal table rows, up to 6 rows and up to a total of 8,000 bytes (excluding
  attachments). 
For example, if you have a list
  with many small columns, one that contains hundreds of Yes/No columns, then
  you could exceed this limit, in which case you would not be able to add more
  Yes/No columns to the list, but you still may be allowed to add columns of a
  different type. 
 NOTE   Farm administrators can only set this limit by using the
  object model, not through the user interface. | 
| 
List View Lookup Threshold | 
8 | 
Specifies the maximum number of
  join operations, such as those based on lookup, Person/Group, or workflow
  status columns. 
If the query uses more than eight
  columns, the operation is blocked. However, it is possible to
  programmatically select which columns to use by using maximal view, which can
  be set through the object model. | 
| 
List View Threshold size for
  auditors and administrators | 
20,000 | 
Specifies the maximum number of
  list or library items that a database operation, such as a query, can process
  at one time when performed by an auditor or administrator with appropriate
  permissions. This setting works in conjunction with Allow Object
  Model Override. | 
| 
Allow Object Model Override | 
Y | 
Specifies whether or not developers
  can perform database operations, such as queries, that request an override of
  the List View Threshold to the higher limit specified by the List
  View Threshold for auditors and administrators. A farm administrator must
  enable an object model override, and then developers with appropriate
  permission may then programmatically request that their query use the higher
  List View Threshold to take advantage of it. | 
| 
Daily time window | 
None | 
Specifies a time period during
  which resource thresholds and limits are ignored. A farm administrator can
  configure a time window during "off-peak" hours in 15 minute
  increments and up to 24 hours, such as, 6:00 PM to 10:00 PM or 1:30 AM to
  5:15 AM. 
 NOTE   A database operation or query started within the daily
  time window continues until completion (or failure) even if it doesn't finish
  within the specified time window. | 
| 
SUPPORTED
  COLUMN TYPES | 
UNSUPPORTED
  COLUMN TYPES | 
| 
Single line of text | 
Multiple lines of text | 
| 
Choice (single value) | 
Choice (multi-valued) | 
| 
Number | 
Calculated | 
| 
Currency | 
Hyperlink or Picture | 
| 
Date and Time | 
Custom Columns | 
| 
Lookup (single value) 
 NOTE   Indexing the column in the other list or library does not
  improve performance of the lookup operation. | 
Lookup (multi-valued) | 
| 
Person or Group (single value) | 
Person or Group (multi-valued) | 
| 
Yes/No | 
External data | 
| 
Managed Metadata | |
| 
TO FILTER
  BY: | 
INDEX THE: | 
FOR
  EXAMPLE: | 
| 
Recently changed items | 
Modified column | 
To view only items that have
  changed in the past week, apply the filterModified is greater
  than  [Today]-7 | 
| 
New items | 
Created column | 
To create a view of only those
  items that were added in the past week, apply the filter Created is
  greater than [Today]-7 | 
| 
My items | 
Created Bycolumn | 
To create a view of only those
  items that you added, apply the filter Created By is
  equal to [Me] | 
| 
Items due today | 
Due Datecolumn (created by you in a list or library) | 
To create a view of only those
  items with a due date of today, apply the filterDue Date is
  equal to [Today] | 
| 
Discussion board updates | 
Last Updatedcolumn | 
To create a view of only the
  discussions that were updated in the past month, apply the filter Last
  Updated is greater than [Today]-30. | 
| 
Archive files in a document library | 
Date Modified | 
To create a view of documents not
  changed since the year 2006 (that you then want to archive), apply the filter Date
  Modified is less than December 31st 2006 | 
| 
Find a subset of financial data | 
Region, Year (as two simple indexes) | 
To create a view of financial data
  for the NorthEast region in 2008, apply the filter Region equals
  "NE" AND Year equals 2008 because the Region column is
  likely to have less values than the Year column |