# Pams.Security

**Kind:** Module

**Source:** `Pams/Core/Pams.Security/Pams.Security.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

.NET project in solution

Pams.Security is a .NET project within the Pams solution that contains security-related code. Its project file defines how the module is built and referenced by other .NET projects in the solution.

## Diagram

```mermaid
graph TD
    Solution[Pams solution] --> SecurityProject[Pams.Security]
    SecurityProject --> ProjectFile[Pams.Security.csproj]
    OtherProjects[Referencing .NET projects] --> SecurityProject
```

## Usage

```ts
import { execFileSync } from "node:child_process";

const projectPath = "Pams/Core/Pams.Security/Pams.Security.csproj";

execFileSync("dotnet", ["build", projectPath], {
  stdio: "inherit",
});
```

## AI Coding Instructions

- Check `Pams.Security.csproj` before adding package references, project references, or build settings.
- Keep security-related contracts and implementations within the `Pams.Security` project unless an existing shared project already owns them.
- Add a project reference from consuming .NET projects rather than copying security code between projects.
- Avoid introducing JavaScript or TypeScript runtime dependencies into this .NET project; use the project through .NET references or `dotnet` commands.

## Relationships

- DEPENDS_ON → `Microsoft.AspNet.Identity.Core`
- DEPENDS_ON → `Microsoft.AspNet.Identity.Owin`
- DEPENDS_ON → `Microsoft.Owin`
- DEPENDS_ON → `Microsoft.Owin.Security`
- DEPENDS_ON → `Microsoft.Owin.Security.Cookies`
- DEPENDS_ON → `Microsoft.Owin.Security.OAuth`
- DEPENDS_ON → `Microsoft.Web.Infrastructure`
- DEPENDS_ON → `Newtonsoft.Json`
- DEPENDS_ON → `Owin`
- DEPENDS_ON → `System`
- DEPENDS_ON → `System.Web.Mvc`
- DEPENDS_ON → `System.Web.Razor`
- DEPENDS_ON → `System.Web.Routing`
- DEPENDS_ON → `System.Web.WebPages.Deployment`
- DEPENDS_ON → `System.Web.WebPages.Razor`
- DEPENDS_ON → `System.Xml.Linq`
- DEPENDS_ON → `System.Data.DataSetExtensions`
- DEPENDS_ON → `Microsoft.CSharp`
- DEPENDS_ON → `System.Data`
- DEPENDS_ON → `System.Xml`
- DEPENDS_ON → `Pams.Data`
- DEPENDS_ON → `Pams.Business`
- DEPENDS_ON → `Pams.Core`

## Used by

2 references from 2 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Injected or called by (1)

- `Pams.API` — `Pams/API/Pams.API/Pams.API.csproj`:1

### Declared in (1)

- `Pams` — `Pams/Pams.sln`:1
