Yes, this happens all day long in pretty much every app or channel.
What you need first is an API to your website/database. It's essentially a page that accepts user accounts and returns the list of albums/movies, etc that they have access to in a program-legible format (I'd recommend JSON as your format, as it's easy to work with and is pretty universally accepted). Your website/database would manage the user account and make the decision about what content to serve the user through the API, based on the credentials the Roku Channel sent (username + password, device ID, auth ID, etc).
Then you'd need a function in your Roku channel to call that API and process the result:
Function APICall(action as string) 'This function retrieves and parses the feed and returns the result
account = [INSERT GLOBAL VARIABLE HERE]
api = CreateObject("roUrlTransfer") 'component used to transfer data to/from remote servers
api.SetCertificatesFile("common:/certs/ca-bundle.crt")
api.AddHeader("X-Roku-Reserved-Dev-Id", "") 'Headers for the call
api.InitClientCertificates()
requestUrl = Substitute("https:/[Your Website API URL]?accountID={0}&action={1}", account, action) 'The API call to retrieve user information
api.SetUrl(requestUrl)
rsp = api.GetToString() 'convert the response to a string
responseJSON = parseJSON(rsp) 'parse the JSON string to an Associative Array
return responseJSON 'Return the result for additional processing
End Function
You'd call this API like so:
oneRow = APICall("customer-albums")
Where "customer-albums" is your action the API is calling. Then do some processing on oneRow to add it to your interface.
This is an over simplified API call to get you going. Ideally, you'd also want to add some level of security to the API, because as it is, any one anywhere in the world could call this API and harvest the data from your website (limited by what the API is willing to output).
One thing to note: Brightscript will not allow you to make an API call like this within your main script, so you have to create a "sub-script" called a Task and launch it from the main script to gather this information.